Compare commits

..

No commits in common. "master" and "v8.1.7" have entirely different histories.

2280 changed files with 221414 additions and 370458 deletions

View File

@ -1,79 +0,0 @@
name: Bug
description: File a bug/issue
title: "[BUG] <title>"
#labels: ["bug"]
body:
- type: checkboxes
attributes:
label: Is there an existing issue for this?
description: |
Please search to see if an issue already exists for the bug you encountered.
If the issue is for a plugin (except for mimeTools, NppConverter, and NppExport),
report it to the plugin author rather than here.
options:
- label: I have searched the existing issues
required: true
- type: textarea
attributes:
label: Description of the Issue
description: Provide a concise description to the issue itself.
validations:
required: true
- type: textarea
attributes:
label: Steps To Reproduce
description: Steps to reproduce the behavior.
placeholder: |
1.
2.
3.
...
value: |
1.
2.
3.
validations:
required: true
- type: textarea
attributes:
label: Current Behavior
description: What you're experiencing.
validations:
required: true
- type: textarea
attributes:
label: Expected Behavior
description: What did you expect to happen.
validations:
required: true
- type: textarea
attributes:
label: Debug Information
description: |
In your Notepad++, click on the "?" menu (found to the right of "Window" in the menu bar).
In the menu that drops down, choose "Debug Info...".
A dialog will open detailing specifics about your Notepad++ version, plugins, etc.
CLICK ON THE BUTTON "Copy debug info into clipboard".
Do a PASTE HERE
render: shell
validations:
required: true
- type: textarea
attributes:
label: Anything else?
description: |
Links? References? Anything that will give us more context about the issue you are encountering!
If feasible, try launching Notepad++ without any plugins.
Some updates to Notepad++ modify communication rules used by plugins,
and if plugin developers do not keep their plugins in sync with these changes, issues may arise.
Running without plugins can help diagnose specific problems.
Notepad++ relies on the Lexilla and Scintilla libraries.
For more details, visit https://github.com/ScintillaOrg/lexilla and https://sourceforge.net/p/scintilla.
Consider using the reference program SciTE to verify whether the issue is a genuine bug in Notepad++.
Download Scite from here https://www.scintilla.org/SciTEDownload.html.
Tip: You can attach images or relevant text files by clicking this area to highlight it and then dragging files in.
validations:
required: false

View File

@ -1,52 +0,0 @@
name: Feature request
description: Suggest an idea for Notepad++
title: "[Feature request] <title>"
#labels: ["feature"]
body:
- type: checkboxes
attributes:
label: Is there an existing issue for this?
description: Please search to see if an issue already exists for the feature you request.
options:
- label: I have searched the existing issues
required: true
- type: textarea
attributes:
label: Description of the Issue
description: A clear and concise description of what the problem is.
validations:
required: true
- type: textarea
attributes:
label: Describe the solution you'd like.
description: A clear and concise description of what you want to happen.
validations:
required: true
- type: textarea
attributes:
label: Debug Information
description: |
In your Notepad++, click on the "?" menu (found to the right of "Window" in the menu bar).
In the menu that drops down, choose "Debug Info...".
A dialog will open detailing specifics about your Notepad++ version, plugins, etc.
CLICK ON THE BUTTON "Copy debug info into clipboard".
Do a PASTE HERE
render: shell
validations:
required: true
- type: textarea
attributes:
label: Anything else?
description: |
Links? References? Anything that will give us more context about the feature you want!
Notepad++ relies on the Lexilla and Scintilla libraries.
For more details, visit https://github.com/ScintillaOrg/lexilla and https://sourceforge.net/p/scintilla.
If you have specific language feature requests, consider using the reference program SciTE to verify whether the desired feature is supported.
You can download SciTE from here https://www.scintilla.org/SciTEDownload.html.
If you have any questions about Notepad++ usage, explore the community forum https://community.notepad-plus-plus.org/category/7/faq.
Tip: You can attach images by clicking this area to highlight it and then dragging files in.
validations:
required: false

View File

@ -1 +0,0 @@
blank_issues_enabled: true

View File

@ -1,13 +0,0 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
version: 2
updates:
# Maintain dependencies for GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "monthly"

View File

@ -1,387 +0,0 @@
name: CI_build
on: [push, pull_request]
env:
PYTHON_ALLOW_CACHE: true
PYTHON_DIR_CACHE: D:\.cache\python
jobs:
before_build:
runs-on: windows-latest
outputs:
result: ${{ steps.filter.outputs.result }}
matrix: ${{ steps.filter.outputs.matrix }}
title: ${{ steps.filter.outputs.title }}
python: ${{ steps.filter.outputs.python }}
steps:
- name: Checkout repo
uses: actions/checkout@v4
with:
fetch-depth: ${{ github.event_name == 'pull_request' && 2 || 0 }}
- name: Commit filtering
id: filter
run: |
$allowMaster = $true
$folders_onejob = "PowerEditor/(Test|(installer/(filesForTesting|functionList)))/"
$folders_nowork = "\.github/ISSUE_TEMPLATE"
$files_nowork = "md|txt|log|ini"
$files_needwork = "CMakeLists\.txt"
$matrix_all = 'matrix={"build_configuration": ["Release", "Debug"], "build_platform": ["x64", "Win32", "ARM64"]}'
$matrix_onejob = 'matrix={"build_configuration": ["Debug"], "build_platform": ["Win32"]}'
Write-Output $matrix_all >> $env:GITHUB_OUTPUT
$isPush = "${{github.event_name }}" -eq "push" ? $true : $false
$isMaster = $isPush -and $${{ github.ref_name == github.event.repository.master_branch }}
$commit_message = $isPush ? (git show -s --format=%B) : (git log -1 --no-merges --pretty=%B)
$commit_title = ($commit_message -split "[\r\n]+")[0]
Write-Output "title=$commit_title" >> $env:GITHUB_OUTPUT
$files_modified = @(git diff --name-only HEAD~1)
$files_needwork_all = @($files_modified | Where-Object {$_ -notmatch "\.(xml|$files_nowork)$|$folders_nowork|$folders_onejob" -or $_ -match "($files_needwork)$"})
if ($allowMaster -or !$isMaster) {
if ($commit_title -match "\[force all\]") {
Write-Output "Run standard jobs"
}
elseif ($commit_title -match "\[force one\]") {
Write-Output "Run only one Win32/Debug job"
Write-Output "result=ONEJOB" >> $env:GITHUB_OUTPUT
Write-Output $matrix_onejob >> $env:GITHUB_OUTPUT
}
elseif (($files_modified.length -gt 0 -and $files_needwork_all.length -eq 0) -or $commit_title -match "\[force (xml|none)\]") {
if (@($files_modified | Where-Object {$_ -notmatch "\.($files_nowork)$|$folders_nowork"}).length -eq 0 -or $commit_title -match "\[force none\]") {
Write-Output "Changed files on this commit don't require any additional tasks.`n"
Write-Output "result=OK" >> $env:GITHUB_OUTPUT
Write-Output "PYTHON_ALLOW_CACHE=false" >> $env:GITHUB_ENV
Exit
}
else {
Write-Output "Run only XML validation step"
if (@($files_modified | Where-Object {$_ -match $folders_onejob}).length -eq 0) {
Write-Output "result=XML" >> $env:GITHUB_OUTPUT
}
else {
Write-Output "Run only one Win32/Debug job"
Write-Output "result=ONEJOB" >> $env:GITHUB_OUTPUT
Write-Output $matrix_onejob >> $env:GITHUB_OUTPUT
}
}
}
else {
Write-Output "Run standard jobs"
}
}
else {
Write-Output "Run standard jobs"
}
if ($commit_title -match "\[force nopythoncache\]") {
$env:PYTHON_ALLOW_CACHE = "false"
Write-Output "PYTHON_ALLOW_CACHE=false" >> $env:GITHUB_ENV
}
if ($Env:PYTHON_ALLOW_CACHE -eq "true") {
$python = ((python -V) -split " ")[1]
$requests = (Invoke-RestMethod https://pypi.org/pypi/requests/json).info.version
$rfc3987 = (Invoke-RestMethod https://pypi.org/pypi/rfc3987/json).info.version
$pywin32 = (Invoke-RestMethod https://pypi.org/pypi/pywin32/json).info.version
$lxml = (Invoke-RestMethod https://pypi.org/pypi/lxml/json).info.version
$key = "${{ runner.os }}-python_$python-requests_$requests-rfc3987_$rfc3987-pywin32_$pywin32-lxml_$lxml"
Write-Output "python=$key" >> $env:GITHUB_OUTPUT
}
- name: (cache) Lookup Python modules
if: env.PYTHON_ALLOW_CACHE == 'true'
uses: actions/cache/restore@v4
id: cache-lookup
with:
path: ${{ env.PYTHON_DIR_CACHE }}
key: ${{ steps.filter.outputs.python }}
lookup-only: true
- name: (cache) Restore Python modules
if: env.PYTHON_ALLOW_CACHE == 'true' && steps.filter.outputs.result == 'XML' && steps.cache-lookup.outputs.cache-hit == 'true'
uses: actions/cache/restore@v4
with:
path: ${{ env.PYTHON_DIR_CACHE }}
key: ${{ steps.filter.outputs.python }}
- name: (cache) Install Python modules
if: env.PYTHON_ALLOW_CACHE == 'true' && steps.cache-lookup.outputs.cache-hit != 'true'
run: |
python -m pip install --target ${{ env.PYTHON_DIR_CACHE }} requests rfc3987 pywin32 lxml
- name: (cache) Save Python modules
if: env.PYTHON_ALLOW_CACHE == 'true' && steps.cache-lookup.outputs.cache-hit != 'true' && github.event_name == 'push'
uses: actions/cache/save@v4
with:
path: ${{ env.PYTHON_DIR_CACHE }}
key: ${{ steps.filter.outputs.python }}
- name: XML validation
if: steps.filter.outputs.result == 'XML'
run: |
if ($Env:PYTHON_ALLOW_CACHE -eq "true" -and (Test-Path -Path ${{ env.PYTHON_DIR_CACHE }})) {
$Env:PYTHONPATH = "${{ env.PYTHON_DIR_CACHE }}"
}
else {
python -m pip install requests rfc3987 pywin32 lxml
}
python PowerEditor\Test\xmlValidator\validator_xml.py
if ($LastExitCode -eq 0) {
Write-Output "`nAll XML files are valid.`n"
}
else {
Write-Output "`nSome XML files are invalid.`n"
$host.SetShouldExit($LastExitCode)
}
build_windows:
runs-on: windows-latest
needs: before_build
if: needs.before_build.outputs.result == '' || needs.before_build.outputs.result == 'ONEJOB'
strategy:
fail-fast: false
matrix: ${{ fromJSON(needs.before_build.outputs.matrix) }}
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v2
- name: Modify resource.h N++ version to avoid confusion
working-directory: PowerEditor\src\
run: |
$content = Get-Content -Path 'resource.h'
$newContent = $content -replace 'TEXT\(\"Notepad\+\+ v.*\"\)', 'TEXT("Notepad++ GH_BUILD")'
$newContent | Set-Content -Path 'resource.h'
- name: MSBuild of n++ exe
working-directory: PowerEditor\visual.net\
run: msbuild notepadPlus.sln /m /p:configuration="${{ matrix.build_configuration }}" /p:platform="${{ matrix.build_platform }}" /p:PlatformToolset="v143"
- name: Archive artifacts for x64 / Release
if: matrix.build_platform == 'x64' && matrix.build_configuration == 'Release'
uses: actions/upload-artifact@v4
with:
name: Notepad++.MSVC.${{ matrix.build_platform}}.${{ matrix.build_configuration}}
path: PowerEditor\bin64\Notepad++.exe
- name: Archive artifacts for Win32 / Release
if: matrix.build_platform == 'Win32' && matrix.build_configuration == 'Release'
uses: actions/upload-artifact@v4
with:
name: Notepad++.MSVC.${{ matrix.build_platform}}.${{ matrix.build_configuration}}
path: PowerEditor\bin\Notepad++.exe
- name: Archive artifacts for ARM64 / Release
if: matrix.build_platform == 'ARM64' && matrix.build_configuration == 'Release'
uses: actions/upload-artifact@v4
with:
name: Notepad++.MSVC.${{ matrix.build_platform}}.${{ matrix.build_configuration}}
path: PowerEditor\binarm64\Notepad++.exe
- name: Archive artifacts for ARM64|x64 / Debug
if: (matrix.build_platform == 'ARM64' || matrix.build_platform == 'x64') && matrix.build_configuration == 'Debug'
uses: actions/upload-artifact@v4
with:
name: Notepad++.MSVC.${{ matrix.build_platform}}.${{ matrix.build_configuration}}
path: PowerEditor\visual.net\${{ matrix.build_platform}}\${{ matrix.build_configuration}}\Notepad++.exe
- name: Archive artifacts for Win32 / Debug
if: matrix.build_platform == 'Win32' && matrix.build_configuration == 'Debug'
uses: actions/upload-artifact@v4
with:
name: Notepad++.MSVC.${{ matrix.build_platform}}.${{ matrix.build_configuration}}
path: PowerEditor\visual.net\${{ matrix.build_configuration}}\Notepad++.exe
- name: (cache) Restore Python modules for Win32 / Debug
if: matrix.build_platform == 'Win32' && matrix.build_configuration == 'Debug' && env.PYTHON_ALLOW_CACHE == 'true' && contains(needs.before_build.outputs.title, '[force nopythoncache]') != true
uses: actions/cache/restore@v4
with:
path: ${{ env.PYTHON_DIR_CACHE }}
key: ${{ needs.before_build.outputs.python }}
- name: Run xml validation test for Win32 / Debug only
if: matrix.build_platform == 'Win32' && matrix.build_configuration == 'Debug'
working-directory: .\
run: |
if ($Env:PYTHON_ALLOW_CACHE -eq "true" -and $${{ !contains(needs.before_build.outputs.title, '[force nopythoncache]') }} -and (Test-Path -Path ${{ env.PYTHON_DIR_CACHE }})) {
$Env:PYTHONPATH = "${{ env.PYTHON_DIR_CACHE }}"
}
else {
python -m pip install requests rfc3987 pywin32 lxml
}
python PowerEditor\Test\xmlValidator\validator_xml.py
- name: Run FunctionList and UrlDetection Tests for Win32 / Debug only
if: matrix.build_platform == 'Win32' && matrix.build_configuration == 'Debug'
working-directory: .\
run: |
Copy-Item "PowerEditor\visual.net\Debug\Notepad++.exe" -Destination "PowerEditor\bin"
Copy-Item "PowerEditor\src\langs.model.xml" -Destination "PowerEditor\bin"
Copy-Item "PowerEditor\src\stylers.model.xml" -Destination "PowerEditor\bin"
Copy-Item "PowerEditor\src\shortcuts.xml" -Destination "PowerEditor\bin"
Copy-Item "PowerEditor\src\contextMenu.xml" -Destination "PowerEditor\bin"
Copy-Item "PowerEditor\installer\functionList" -Destination "PowerEditor\bin" -Recurse
Copy-Item "PowerEditor\installer\filesForTesting\regexGlobalTest.xml" -Destination "PowerEditor\bin\functionList"
Copy-Item "PowerEditor\installer\filesForTesting\overrideMap.xml" -Destination "PowerEditor\bin\functionList"
cd .\PowerEditor\Test\FunctionList\
.\unitTestLauncher.ps1
if ($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode) }
cd ..\UrlDetection
.\verifyUrlDetection.ps1
# build_windows_clang:
# runs-on: windows-latest
#needs: before_build
#if: needs.before_build.outputs.result == ''
# strategy:
# matrix:
# build_configuration: [Release]
# build_platform: [x64]
# steps:
# - name: Checkout repo
# uses: actions/checkout@v4
# - name: Add msbuild to PATH
# uses: microsoft/setup-msbuild@v2
# - name: Modify resource.h N++ version to avoid confusion
# working-directory: PowerEditor\src\
# run: |
# $content = Get-Content -Path 'resource.h'
# $newContent = $content -replace 'TEXT\(\"Notepad\+\+ v.*\"\)', 'TEXT("Notepad++ GH_BUILD")'
# $newContent | Set-Content -Path 'resource.h'
# - name: MSBuild of n++ exe
# working-directory: PowerEditor\visual.net\
# run: msbuild notepadPlus.sln /m /p:configuration="${{ matrix.build_configuration }}" /p:platform="${{ matrix.build_platform }}" /p:PlatformToolset="ClangCL"
build_windows_cmake:
runs-on: windows-latest
needs: before_build
if: needs.before_build.outputs.result == ''
strategy:
matrix:
include:
- build_configuration: Release
build_platform: x64
arch: amd64
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v2
- name: Modify resource.h N++ version to avoid confusion
working-directory: PowerEditor\src\
run: |
$content = Get-Content -Path 'resource.h'
$newContent = $content -replace 'TEXT\(\"Notepad\+\+ v.*\"\)', 'TEXT("Notepad++ GH_BUILD")'
$newContent | Set-Content -Path 'resource.h'
- name: Add nmake to PATH
uses: ilammy/msvc-dev-cmd@v1
with:
arch: ${{ matrix.arch }}
- name: build scintilla
working-directory: scintilla/win32/
run: |
nmake -f scintilla.mak
- name: build lexilla
working-directory: lexilla/src/
run: |
nmake -f lexilla.mak
- name: generate cmake
working-directory: PowerEditor/src
run: |
mkdir _build
cd _build
cmake -G "Visual Studio 17 2022" -A ${{ matrix.build_platform }} -T "v143" ..
- name: build cmake
working-directory: PowerEditor/src
run: |
cd _build
cmake --build . --config ${{ matrix.build_configuration }}
build_windows_msys2:
runs-on: windows-latest
needs: before_build
if: needs.before_build.outputs.result == ''
strategy:
fail-fast: false
matrix:
build_configuration: [Release, Debug]
build_platform: [x86_64, i686]
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Modify resource.h N++ version to avoid confusion
working-directory: PowerEditor\src\
shell: pwsh
run: |
$content = Get-Content -Path 'resource.h'
$newContent = $content -replace 'TEXT\(\"Notepad\+\+ v.*\"\)', 'TEXT("Notepad++ GH_BUILD")'
$newContent | Set-Content -Path 'resource.h'
- name: Make n++ exe
working-directory: .\
run: |
Write-host "${{ matrix.build_platform }}"
Write-host "${{ matrix.build_configuration }}"
$Env:Path = 'C:\msys64\usr\bin' + [IO.Path]::PathSeparator + $Env:Path
if ( $${{ matrix.build_platform == 'i686'}} ) {$Env:MSYSTEM = 'MINGW32'}
if ( $${{ matrix.build_platform == 'i686'}} ) {$Env:Path = 'C:\msys64\mingw32\bin' + [IO.Path]::PathSeparator + $Env:Path}
if ( $${{ matrix.build_platform == 'x86_64'}} ) {$Env:MSYSTEM = 'MINGW64'}
if ( $${{ matrix.build_platform == 'x86_64'}} ) {$Env:Path = 'C:\msys64\mingw64\bin' + [IO.Path]::PathSeparator + $Env:Path}
if ( $${{ matrix.build_configuration == 'Debug'}} ) {$Env:DEBUG = '1'}
bash -lc "pacman --noconfirm -Syuu"
bash -lc "pacman --noconfirm -Syuu"
if ( $${{ matrix.build_platform == 'i686'}} ) {bash -lc "pacman --noconfirm -S mingw-w64-i686-gcc mingw-w64-i686-make"}
if ( $${{ matrix.build_platform == 'x86_64'}} ) {bash -lc "pacman --noconfirm -S mingw-w64-x86_64-gcc mingw-w64-x86_64-make"}
Write-Output "Tools version:"
Write-Output (((gcc --version) | select-object -first 1) + " " + (gcc -dumpmachine))
Write-Output (mingw32-make --version) | select-object -first 1
Write-Output (sh --version) | select-object -first 1
mingw32-make -f PowerEditor\gcc\makefile
- name: Archive artifacts for ${{ matrix.build_platform}} / Release
if: matrix.build_configuration == 'Release'
uses: actions/upload-artifact@v4
with:
name: Notepad++.GCC.${{ matrix.build_platform}}.${{ matrix.build_configuration}}
path: bin.${{ matrix.build_platform}}\notepad++.exe
- name: Archive artifacts for ${{ matrix.build_platform}} / Debug
if: matrix.build_configuration == 'Debug'
uses: actions/upload-artifact@v4
with:
name: Notepad++.GCC.${{ matrix.build_platform}}.${{ matrix.build_configuration}}
path: bin.${{ matrix.build_platform}}-debug\notepad++.exe

View File

@ -1,69 +0,0 @@
name: Plugin Files Release Notifier
on:
push:
branches: 'master'
workflow_dispatch:
jobs:
release-notifier:
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Get changes
run: |
$any_changed = $false
$watch_files = @(
"scintilla/include/Scintilla.h",
"scintilla/include/Sci_Position.h",
"PowerEditor/src/MISC/PluginsManager/Notepad_plus_msgs.h",
"PowerEditor/src/MISC/PluginsManager/PluginInterface.h",
"PowerEditor/src/menuCmdID.h",
"PowerEditor/src/WinControls/DockingWnd/Docking.h",
"PowerEditor/src/WinControls/DockingWnd/dockingResource.h"
)
if("${{ github.event_name }}" -eq "workflow_dispatch") {
#Write-Output "non-push: use HEAD~1..HEAD, which isn't as specific, but better than nothing"
$changed_files = @( git diff --name-only HEAD~1..HEAD )
} else {
#Write-Output "for-push: use before/after"
$changed_files = @( git diff --name-only ${{ github.event.before }} ${{ github.event.after }} )
}
foreach ($this_file in $changed_files) {
#Write-Output "the following is different: $this_file"
if( $this_file -in $watch_files ) {
Write-Output "+ Saw changes in: $this_file"
$any_changed = $true
}
}
if($any_changed) {
$map = @(
@( "${{ secrets.PAT_NOTIFY_NPPPLUGINS }}", "npp-plugins/plugintemplate", "CI_update_remote.yml" ),
@( "${{ secrets.PAT_NOTIFY_NPPPLUGINS }}", "npp-plugins/plugindemo", "CI_update_remote.yml" )
)
foreach ($target in $map) {
$pat = $target[0]
$ref = $target[1]
$yml = $target[2]
# Write-Output "DEBUG: len(pat)='$($pat.Length)' ref='$ref' len(ref)=$($ref.Length) yml='$yml' len(yml)=$($yml.Length): 'https://api.github.com/repos/$ref/actions/workflows/$yml/dispatches'"
Write-Output "Notifying '$ref' workflow '$yml' using curl 'https://api.github.com/repos/$ref/actions/workflows/$yml/dispatches'."
curl -s -L `
-X POST `
-H "Accept: application/vnd.github+json" `
-H "Authorization: Bearer $pat" `
-H "X-GitHub-Api-Version: 2022-11-28" `
https://api.github.com/repos/$ref/actions/workflows/$yml/dispatches `
-d "{`"ref`": `"${{ github.ref_name }}`", `"inputs`": {}}"
# NOTE: if there is a problem with the curl call, there will be a message in the workflow output,
# but the workflow will not fail, so that the Notepad++ build will not fail; we do our best to notify,
# but we don't want a problem with another repo holding up a N++ fix.
}
} else {
Write-Output "No watched-files changed, so not sending notification to plugin templates this time."
}

8
.gitignore vendored
View File

@ -17,7 +17,6 @@ x86/
#-- Visual C++ cache files
.vs/
.vscode/
ipch/
*.aps
*.ncb
@ -37,7 +36,6 @@ UpgradeLog*.htm
*_p.c
*.ilk
*.meta
*.exe
*.obj
*.pch
#*.pdb
@ -54,12 +52,9 @@ UpgradeLog*.htm
.builds
*.pidb
*.vcxproj.filters
*.bak
PowerEditor/bin/notepad++.exe
PowerEditor/bin/Notepad++.exp
PowerEditor/bin/Notepad++.lib
PowerEditor/bin/NppShell.x86.dll
PowerEditor/bin/SciLexer.dll
PowerEditor/bin/config.xml
PowerEditor/bin/stylers.xml
PowerEditor/bin/langs.xml
@ -101,7 +96,6 @@ PowerEditor/visual.net/ARM64
PowerEditor/src/tools/NppShell/build_ARM64
PowerEditor/src/tools/NppShell/build_Win32
PowerEditor/src/tools/NppShell/build_x64
PowerEditor/src/NppLibsVersion.h
# scintilla - generated files
scintilla/bin/SciLexer.*

View File

@ -1,74 +1,61 @@
# Building Notepad++
## Microsoft Visual Studio
# Building Notepad++ with Microsoft Visual Studio
**Pre-requisites:**
- Microsoft Visual Studio 2022 version 17.5 (C/C++ Compiler, v143 toolset for win32, x64, arm64)
- Microsoft Visual Studio 2017 (C/C++ Compiler, v141 toolset for win32, x64, arm64)
There are three components which are built from one visual studio solution:
There are two components which are built from one visual studio solution:
- `notepad++.exe`: (contains `libSciLexer.lib`)
- `libScintilla.lib` : static library based on [Scintilla](https://www.scintilla.org/)
- `libLexilla.lib` : static library based on [Lexilla](https://www.scintilla.org/Lexilla.html)
- `notepad++.exe`: (contains `libSciLexer.lib`)
- `libSciLexer.lib` : static library based on Scintilla
Notepad++ is always built **with** Boost regex PCRE support instead of default c++11 regex ECMAScript used by plain Scintilla.
Notepad++ is always built **with** Boost regex PCRE support instead of default c++11 regex ECMAScript used by plain Scintilla\SciLexer.
### Build `notepad++.exe`
## Build `notepad++.exe`:
1. Open [`PowerEditor\visual.net\notepadPlus.sln`](https://github.com/notepad-plus-plus/notepad-plus-plus/blob/master/PowerEditor/visual.net/notepadPlus.sln)
2. Select a solution configuration (Debug or Release) and a solution platform (x64 or Win32 or ARM64)
3. Build Notepad++ solution like a normal Visual Studio project. This will also build the dependent Scintilla and Lexilla projects.
3. Build Notepad++ solution like a normal Visual Studio project. This will also build the dependent SciLexer project.
### Build `libScintilla.lib` and `libLexilla.lib`
## Build `libSciLexer.lib`:
As mentioned above, you'll need `libScintilla.lib` and `libLexilla.lib` for the Notepad++ build. This is done automatically on building the whole solution. So normally you don't need to care about this.
As mentioned above, you'll need `libSciLexer.lib` for the Notepad++ build. This is done automatically on building the whole solution. So normally you don't need to care about this.
#### Build `libScintilla.lib` with boost and `libLexilla.lib` via nmake
### Build `libSciLexer.lib` with boost via nmake:
This is not necessary any more and just here for completeness as this option is still available.
Boost is taken from [boost 1.85.0](https://www.boost.org/users/history/version_1_85_0.html) and stripped down to the project needs available at [boost](https://github.com/notepad-plus-plus/notepad-plus-plus/tree/master/boostregex/boost) in this repo.
Boost is taken from [boost 1.76.0](https://www.boost.org/users/history/version_1_76_0.html) and stripped down to the project needs available at [boost](https://github.com/notepad-plus-plus/notepad-plus-plus/tree/master/boostregex/boost) in this repo.
1. Open the Developer Command Prompt for Visual Studio
2. Go into the [`scintilla\win32\`](https://github.com/notepad-plus-plus/notepad-plus-plus/blob/master/scintilla/win32/)
2. Go into the `scintilla\win32\`
3. Build the same configuration as notepad++:
- Release: `nmake -f scintilla.mak`
- Debug: `nmake DEBUG=1 -f scintilla.mak`
- Example:
`nmake -f scintilla.mak`
4. Go into the [`lexilla\src\`](https://github.com/notepad-plus-plus/notepad-plus-plus/tree/master/lexilla/src/)
5. Build the same configuration as notepad++:
- Release: `nmake -f lexilla.mak`
- Debug: `nmake DEBUG=1 -f lexilla.mak`
### History
More about the previous build process: <https://community.notepad-plus-plus.org/topic/13959/building-notepad-with-visual-studio-2015-2017>
## History:
More about the previous build process: https://community.notepad-plus-plus.org/topic/13959/building-notepad-with-visual-studio-2015-2017
Since `Notepad++` version 6.0 - 7.9.5, the build of dynamic linked `SciLexer.dll` that is distributed
uses features from Boost's `Boost.Regex` library.
## GCC
# Building Notepad++ with GCC
If you have [MinGW-w64](https://www.mingw-w64.org/) installed, you can compile Notepad++ with GCC. Otherwise MinGW-w64 can be downloaded [here](https://sourceforge.net/projects/mingw-w64/files/). You can also download some collection of tools which supports MinGW-w64, like [MSYS2](https://www.msys2.org/) or [WinLibs](https://winlibs.com/).
If you have [MinGW-w64](https://www.mingw-w64.org/) installed, you can compile Notepad++ with GCC.
Building Notepad++ is regularly tested on a Windows system by using [MSYS2](https://www.msys2.org/) project. Current versions of tools used to building (such as GCC, Clang, Make or Bash) can be checked by looking at some logs from the finished building (for example in the [current-build page](https://github.com/notepad-plus-plus/notepad-plus-plus/actions/workflows/CI_build.yml). Other versions may also work but are untested.
MinGW-w64 can be downloaded [here](https://sourceforge.net/projects/mingw-w64/files/). Building Notepad++ is regularly tested on a Windows system with [x86_64-8.1.0-release-posix-seh-rt_v6-rev0](https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/8.1.0/threads-posix/seh/x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z) for building 64-bits binary and with [i686-8.1.0-release-posix-dwarf-rt_v6-rev0](https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/8.1.0/threads-posix/dwarf/i686-8.1.0-release-posix-dwarf-rt_v6-rev0.7z) versions for building 32-bits binary. Other versions may also work but are untested.
**Note:** Before building make sure that the system `PATH` environment variable contains `$MinGW-root$\bin` directory. Otherwise you have to set this directory yourself in Windows settings. You can also use a command like `set PATH=$MinGW-root$\bin;%PATH%` each time `cmd` is launched. But beware that if `PATH` contains several versions of MinGW-w64 GCC, only the first one will be usable.
**Note:** If you use MinGW-w64 GCC from a package (7z), you need to manually add the `$MinGW-root$\bin` directory to the system `PATH` environment variable for the `mingw32-make` invocation below to work. One can use a command like `set PATH=$MinGW-root$\bin;%PATH%` each time `cmd` is launched. But beware that if `PATH` contains several versions of MinGW-w64 GCC, only the first one will be usable.
### Compiling Notepad++ binary
## Compiling Notepad++ binary
1. Launch `cmd` and add `$MinGW-root$\bin` to `PATH` if necessary.
2. `cd` into `notepad-plus-plus\PowerEditor\gcc`.
3. Run `mingw32-make`.
4. The 32-bit or 64-bit `notepad++.exe` will be generated either in `bin.i686` or in `bin.x86_64` directory respectively, depending on the target CPU of the compiler — look for the full path to the resulting binary at the end of the build process.
#### Some additional information
- The directory containing `notepad++.exe` will also contain everything needed for Notepad++ to start.
- To have a debug build just add `DEBUG=1` to the `mingw32-make` invocation above. The output directory then will be suffixed with `-debug`.
- To see commands being executed add `VERBOSE=1` to the same command.
- When a project is built outside of the `PowerEditor/gcc` directory, for example when using `-f` option, then the entire project path must not contain any spaces. Additionally, the path to `makefile` of this project should be listed as first.
- When a project is built through MinGW-w64 with multilib support, a specific target can be forced by passing `TARGET_CPU` variable with `x86_64` or `i686` as value.
- To use Clang instead of GCC for compilation provide `CXX` variable with `clang++` as value.
- To use [Clang analyzer](https://clang-analyzer.llvm.org/) together with Clang provide `CLANGANALYZE=1` to the `mingw32-make` invocation.
* The directory containing `notepad++.exe` will also contain everything needed for Notepad++ to start.
* To have a debug build just add `DEBUG=1` to the `mingw32-make` invocation above. The output directory then will be suffixed with `-debug`.
* To see commands being executed add `VERBOSE=1` to the same command.
* When switching between compilers or between release/debug modes, `mingw32-make clean` must be executed first.

View File

@ -4,25 +4,30 @@
## Reporting Issues
Bug reports are appreciated. Following a few guidelines listed below will help speed up the process of getting them fixed.
Bug reports are appreciated. Following a few guidelines listed below will help speed up the process of getting them fixed.
1. Search the issue tracker to see if it has already been reported.
2. Disable your plugins to see if one of them is the problem. You can do this by renaming your `plugins` folder to something else.
3. Only report an issue with a plugin if it is one of the standard plugins included in the Notepad++ installation. Any other plugin issue should be reported to its respective issue tracker (see e.g. [plugin_list_x86.md](https://github.com/notepad-plus-plus/nppPluginList/blob/master/doc/plugin_list_x86.md) or [plugin_list_x64.md](https://github.com/notepad-plus-plus/nppPluginList/blob/master/doc/plugin_list_x64.md) to find the homepage with further information on that for a plugins). The standard plugins include (for v7.9.5):
3. Only report an issue with a plugin if it is one of the standard plugins included in the Notepad++ installation. Any other plugin issue should be reported to its respective issue tracker (see e.g. [plugin_list_x86.md](https://github.com/notepad-plus-plus/nppPluginList/blob/master/doc/plugin_list_x86.md) or [plugin_list_x64.md](https://github.com/notepad-plus-plus/nppPluginList/blob/master/doc/plugin_list_x64.md) to find the homepage with further informations on that for a plugins). The standard plugins include (for v7.9.5):
* NppExport
* Converter
* mimeTools
4. Fill the complete information: a template will be shown when you create an issue. Please fill the complete information in the template. To fill the field **Debug Information** you can get it from your Notepad++ via menu `?>Debug Info...`. Please take your time to fill these information. If you don't bother to complete the information we need to help you, we won't bother to solve your problem either.
4. Include additional information such as:
* A detailed explanation
* Notepad++ Debug-Info containing:
* Operating System version
* Notepad++ version
* List of installed plugins (if it is related to a plugin)
* Screen shots (if applicable)
* ...and any other relevant information
## Pull Requests
*The first rule of Notepad++ is: you do not ask for permission to contribute.*<br/>
*The second rule of Notepad++ is: you DO NOT ask for permission to contribute.*
Just do your contribution if you have something to offer, and your pull requests are welcome.<br/>
However, they may not be accepted for various reasons. If you want to make some GUI enhancement like renaming some graphic items or fixing typos, please create the issue instead of the pull requests. All Pull Requests, except for translations and user documentation, need to be attached to a issue on GitHub. For Pull Requests regarding enhancements and questions, the issue must first be approved by one of project's administrators before being merged into the project. An approved issue will have the label `Accepted`. For issues that have not been accepted, you may request to be assigned to that issue.
Your pull requests are welcome; however, they may not be accepted for various reasons. If you want to make some GUI enhancement like renaming some graphic items or fixing typos, please create the issue instead of the pull requests. All Pull Requests, except for translations and user documentation, need to be attached to a issue on GitHub. For Pull Requests regarding enhancements and questions, the issue must first be approved by one of project's administrators before being merged into the project. An approved issue will have the label `Accepted`. For issues that have not been accepted, you may request to be assigned to that issue.
Opening a issue beforehand allows the administrators and the community to discuss bugs and enhancements before work begins, preventing wasted effort.
Opening an issue beforehand allows the administrators and the community to discuss bugs and enhancements before work begins, preventing wasted effort.
### Guidelines for pull requests
@ -30,296 +35,185 @@ Opening an issue beforehand allows the administrators and the community to discu
2. Create a new branch for each PR. **Make sure your branch name wasn't used before** - you can add date (for example `patch3_20200528`) to ensure its uniqueness.
3. Single feature or bug-fix per PR.
4. Create a PR with a single commit to make the review process easier.
5. For the PR of translation, don't guess or use the next version number. Use the current version number instead.
6. Make your modification compact - don't reformat source code in your request. It makes code review more difficult.
7. PR of reformatting (changing of ws/TAB, line endings or coding style) of source code won't be accepted. Use issue trackers for your request instead.
8. Typo fixing and code refactoring won't be accepted - please create issues with title started with `TYPO` to request the changing.
9. The PR for the enhancement of Function List parser should also include unit test. Please refer [here](https://npp-user-manual.org/docs/function-list/#contribute-your-new-or-enhanced-parser-rule-to-the-notepad-codebase) for more information.
10. Address the review change requests by pushing new commits to the same PR. Avoid amending a commit and then force pushing it. All the PR commits are squashed before merging to the main branch.
11. When creating new PR, try to base it on latest master.
12. Normally you don't need to merge `upstream/master` (using git or via github sync), if your PR is based on older `upstream/master`. If you need to base it on latest `master` (e.g. to check and fix merge conflict), use commands `git fetch upstream` to get latest `master` and then `git rebase upstream/master` to rebase it onto this latest `upstream/master`.
13. Finally, please test your pull requests, at least once.
5. Make your modification compact - don't reformat source code in your request. It makes code review more difficult.
6. PR of reformatting (changing of ws/TAB, line endings or coding style) of source code won't be accepted. Use issue trackers for your request instead.
7. Typo fixing and code refactoring won't be accepted - please create issues with title started with `TYPO` to request the changing.
8. Address the review change requests by pushing new commits to the same PR. Avoid amending a commit and then force pushing it. All the PR commits are squashed before merging to the main branch.
In short: The easier the code review is, the better the chance your pull request will get accepted.
### Coding style
### Coding style
![stay clean](https://notepad-plus-plus.org/assets/images/good-bad-practice.jpg)
#### GENERAL
1. Do not use Java-like braces
* Good:
1. ##### Do not use Java-like braces.
* ###### Good:
```cpp
void MyClass::method1()
if ()
{
if (aCondition)
{
// Do something
}
// Do something
}
```
* Bad:
* ###### Bad:
```cpp
void MyClass::method1() {
if (aCondition) {
// Do something
}
if () {
// Do something
}
```
However, the method definition could be defined in a header file (.h), if there's one line code only. In this case, Java-like braces should be used.
2. ##### Use tabs instead of white-spaces (we usually set our editors to 4 white-spaces for 1 tab, but the choice is up to you).
* Good:
```cpp
class MyClass
{
public:
void method1();
int method2() {
return _x; // only one line code can be placed in .h as method definition
};
private:
int _x;
}
```
2. Use tabs instead of white-spaces (we usually set our editors to 4 white-spaces for 1 tab, but the choice is up to you)
3. Always leave one space before and after binary and ternary operators
* Good:
3. ##### Always leave one space before and after binary and ternary operators.
* ###### Good:
```cpp
if (a == 10 && b == 42)
```
* Bad:
* ###### Bad:
```cpp
if (a==10&&b==42)
```
4. Only leave one space after semi-colons in "for" statements
* Good:
4. ##### Only leave one space after semi-colons in "for" statements.
* ###### Good:
```cpp
for (int i = 0; i != 10; ++i)
```
* Bad:
* ###### Bad:
```cpp
for(int i=0;i<10;++i)
```
5. Function names are not separated from the first parenthesis
* Good:
5. ##### Function names are not separated from the first parenthesis.
* ###### Good:
```cpp
foo();
myObject.foo(24);
```
* Bad:
* ###### Bad:
```cpp
foo ();
```
6. Keywords are separated from the first parenthesis by one space
* Good:
6. ##### Keywords are separated from the first parenthesis by one space.
* ###### Good:
```cpp
if (true)
while (true)
```
* Bad:
* ###### Bad:
```cpp
if(myCondition)
```
7. Switch
7. ##### Use the following indenting for "switch" statements:
* Use the following indenting for "switch" statements:
```cpp
switch (test)
{
case 1:
{
// Do something
break;
}
default:
// Do something else
} // No semi-colon here
```
```cpp
switch (test)
{
case 1:
{
// Do something
break;
}
default:
// Do something else
} // No semi-colon here
```
* If possible use `default` statement, and prefer using it as last case.
* When using switch with enum or known range, try to cover all values if not using `default`.
```cpp
enum class Test {val1, val2, val3}
switch (Test)
{
case Test::val1:
{
// Do something
break;
}
//case Test::val2:
//case Test::val3:
default:
// Do something else
} // No semi-colon here
```
When using `default` adding uncovered values as comments can help to convey intention.
* Use `[[fallthrough]]` if fall through is intended.
```cpp
switch (test)
{
case 1:
{
// Do something
}
// I want fall through // adding comment can help to convey intention
[[fallthrough]];
case 2:
{
// Do something
break;
}
default:
// Do something else
} // No semi-colon here
```
8. Avoid magic numbers
* Good:
8. ##### Avoid magic numbers.
* ###### Good:
```cpp
if (foo == I_CAN_PUSH_ON_THE_RED_BUTTON)
startTheNuclearWar();
```
* Bad:
* ###### Bad:
```cpp
while (lifeTheUniverseAndEverything != 42)
lifeTheUniverseAndEverything = buildMorePowerfulComputerForTheAnswer();
```
9. Prefer enums for integer constants
9. ##### Prefer enums for integer constants.
10. Use initialization with curly braces
* Good:
10. ##### Use initialization with curly braces.
* ###### Good:
```cpp
MyClass instance{10.4};
```
* Bad:
* ###### Bad:
```cpp
MyClass instance(10.4);
```
11. Always use `empty()` for testing if a string is empty or not
* Good:
11. ##### Always use `empty()` for testing if a string is empty or not.
* ###### Good:
```cpp
if (!string.empty())
...
```
* Bad:
* ###### Bad:
```cpp
if (string != "")
...
```
12. Always use `C++ conversion` instead of `C-Style cast`
* Generally, all the conversion among types should be avoided. If you have no choice, use C++ conversion.
* Good:
12. ##### Always use `C++ conversion` instead of `C-Style cast`. Generally, all the conversion among types should be avoided. If you have no choice, use C++ conversion.
* ###### Good:
```cpp
char aChar = static_cast<char>(_pEditView->execute(SCI_GETCHARAT, j));
```
* Bad:
* ###### Bad:
```cpp
char aChar = (char)_pEditView->execute(SCI_GETCHARAT, j);
```
13. Use `!` instead of `not`, `&&` instead of `and`, `||` instead of `or`
* Good:
13. ##### Use `!` instead of `not`, `&&` instead of `and`, `||` instead of `or`.
* ###### Good:
```cpp
if (!::PathFileExists(dir2Search))
```
* Bad:
* ###### Bad:
```cpp
if (not ::PathFileExists(dir2Search))
```
14. Always initialize local and global variables
* For primitive types and enum prefer initialization with `=`.
* For other prefer `{}`-initializer syntax.
* For "numerical" variables using literal suffix can help to convey intention.
```cpp
constexpr float g_globalVariable = 0.0F;
void test()
{
constexpr UINT strLen = 1024U;
wchar_t myString[strLen]{};
}
```
#### NAMING CONVENTIONS
1. Classes uses Pascal Case
* Good:
1. ##### Classes uses Pascal Case
* ###### Good:
```cpp
class IAmAClass
{};
```
* Bad:
* ###### Bad:
```cpp
class iAmAClass
{};
@ -327,128 +221,87 @@ In short: The easier the code review is, the better the chance your pull request
{};
```
2. Methods & method parameters
2. ##### Methods & method parameters use camel Case
* Use camel Case
```cpp
void myMethod(uint myVeryLongParameter);
```
```cpp
void myMethod(uint myVeryLongParameter);
```
3. ##### Member variables
3. Member variables
Any member variable name of class/struct should be preceded by an underscore.
* Any member variable name of class/struct should be preceded by an underscore.
```cpp
public:
int _publicAttribute;
private:
int _pPrivateAttribute;
float _pAccount;
```
```cpp
public:
int _publicAttribute;
private:
int _pPrivateAttribute;
float _pAccount;
```
4. Always prefer a variable name that describes what the variable is used for
* Good:
4. ##### Always prefer a variable name that describes what the variable is used for.
* ###### Good:
```cpp
if (hours < 24 && minutes < 60 && seconds < 60)
```
* Bad:
* ###### Bad:
```cpp
if (a < 24 && b < 60 && c < 60)
```
#### COMMENTS
1. Use C++ comment line style rather than C comment style
1. ##### Use C++ comment line style than C comment style.
* Good:
```cpp
* ###### Good:
```
// Two lines comment
// Use still C++ comment line style
```
* Bad:
```cpp
* ###### Bad:
```
/*
Please don't piss me off with that
*/
```
#### BEST PRACTICES
1. Use C++11/14/17/20 whenever it is possible.
1. ##### Use C++11/14/17 whenever it is possible
2. Use C++11 member initialization feature whenever it is possible.
2. ##### Use C++11 member initialization feature whenever it is possible
```cpp
class Foo
{
int value = 0;
};
```
```cpp
class Foo
{
int value = 0;
};
```
3. Incrementing
* Prefer Pre-increment
3. ##### Prefer Pre-increment:
```cpp
++i
```
```cpp
++i
```
##### **Over Post-increment:**
```cpp
i++
```
(It does not change anything for built-in types but it would bring consistency)
* Over Post-increment
4. ##### Avoid using pointers. Prefer references. You might need the variable to be assigned a NULL value: in this case the NULL value has semantics and must be checked. Wherever possible, use a SmartPtr instead of old-school pointers.
```cpp
i++
```
5. ##### Avoid using new if you can use automatic variable. However, avoid `shared_ptr` as much as possible. Prefer `unique_ptr` instead.
(It does not change anything for built-in types but it would bring consistency)
6. ##### Don't place any "using namespace" directives in headers.
4. Avoid using pointers. References are preferred instead. You might need the variable to be assigned a `NULL` value: in this case the `NULL` value has semantics and must be checked. Wherever possible, use a SmartPtr instead of old-school pointers.
7. ##### Compile time is without incidence. Increasing compile time to reduce execution time is encouraged.
5. Avoid using new if you can use automatic variable. However, avoid `shared_ptr` as much as possible. Prefer `unique_ptr` instead.
6. Don't place any "using namespace" directives in headers.
7. Compile time is without incidence. Increasing compile time to reduce execution time is encouraged.
8. Code legibility and length is less important than easy and fast end-user experience.
9. Prefer `constexpr` over `const` if value can be evaluated at compile time.
10. Check if there are helper functions in headers or lambda functions to reuse them instead of writing new code.
* Example
```cpp
// in StaticDialog.h
isCheckedOrNot();
setChecked();
// in Parameters.cpp
parseYesNoBoolAttribute();
```
11. Check if there are already defined global variables, and reuse them instead of defining new ones.
12. Avoid "Yoda conditions".
* Good:
```cpp
if (iAmYourFather == true)
...
```
* Bad:
```cpp
if (true == iAmYourFather)
...
```
13. Check [C++ Core Guidelines](https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md) for additional guidelines.
8. ##### Code legibility and length is less important than easy and fast end-user experience.

View File

@ -20,7 +20,7 @@
<!--- In your Notepad++, click on the "?" menu (found to the right of "Window" in the menu bar) -->
<!--- In the menu that drops down, choose "Debug Info..." -->
<!--- A message box will open detailing specifics about your Notepad++ version, plugins, etc. -->
<!--- CLICK ON THE BUTTON with the text "Copy debug info into clipboard" -->
<!--- CLICK ON THE BLUE LINK with the text "Copy debug info into clipboard" -->
<!--- Do a PASTE HERE -->
<!--- Feel free to include any other info, such as screenshots, etc -->

View File

@ -1 +1 @@
{"leaves":["BiSeqOut","Get_Idle","Get_State","Update","Int32_To_Byte_Array","Int8_To_U8","Int32toInt8TwosComplement (value : Vt.Int32)","AproxU8 (n : Vt.U8; x : Vt.U8)","Read_I32 (Register : Vt.Address_Range)"],"root":"unitTest"}
{"leaves":["BiSeqOut"],"root":"unitTest"}

View File

@ -34,44 +34,10 @@ begin
end BiSeqOut;
-- Result of Execution
-- (The only output is a binary file named NAMEFILE.TXT)
function Get_Idle
return Boolean;
function Get_State
return Vt.State;
procedure Update;
function Int32_To_Byte_Array is
new Unchecked_Conversion (Source => Vt.Int32, Target => Vt.Byte_Array);
function Int8_To_U8 is new Unchecked_Conversion
(Source => Vt.Int8, Target => Vt.U8);
function Int32toInt8TwosComplement (value : Vt.Int32) return Vt.Int8 is
begin
-- body
end Int32toInt8TwosComplement;
function AproxU8 (n : Vt.U8; x : Vt.U8) return Boolean is
eq : Boolean := False;
begin
-- code
return eq;
end AproxU8;
function Read_I32 (Register : Vt.Address_Range) return Vt.Int_32 is
Data : Vt.Int_32;
begin
-- code
return Data;
end Read_ I32;

View File

@ -29,14 +29,6 @@ Func logoff() ; Start of the logoff function
Exit ; Quit the program
EndFunc ; End of the logoff Function
#CS
Func logoff()
GUISetState(@SW_HIDE)
Run("u:\logoff.bat")
Exit
EndFunc
#CE
Func cancel() ; Start of the cancel function
GUISetState(@SW_HIDE) ; Hide the Window
Exit ; Quit the program

View File

@ -1 +1 @@
{"leaves":["setenv","action_needed","canonicalize_path","make_module","db2_name","versioned_copy"],"root":"unitTest"}
{"leaves":["action_needed","canonicalize_path","make_module","db2_name","versioned_copy"],"root":"unitTest"}

View File

@ -0,0 +1 @@
{"leaves":["setenv","action_needed","canonicalize_path","make_module","db2_name","versioned_copy"],"root":"unitTest"}

View File

@ -124,13 +124,6 @@ static void test()
assert(fabsf(test_quat.q3 - quat.q3) < .01);
}
/*
void commented_func()
{
return;
}
*/
int main()
{
test();

View File

@ -516,18 +516,6 @@ int decStrVal(const TCHAR *str)
return strVal(str, 10);
}
/*
int commentedFunc1()
{
return 1;
}
*/
/*int commentedFunc2()
{
return 2;
}*/
int hexStrVal(const TCHAR *str)
{
return strVal(str, 16);
@ -1240,6 +1228,21 @@ bool NppParameters::load()
isAllLaoded = false;
}
//---------------------------------//
// toolbarIcons.xml : for per user //
//---------------------------------//
generic_string toolbarIconsPath(_userPath);
PathAppend(toolbarIconsPath, TEXT("toolbarIcons.xml"));
_pXmlToolIconsDoc = new TiXmlDocument(toolbarIconsPath);
loadOkay = _pXmlToolIconsDoc->LoadFile();
if (!loadOkay)
{
delete _pXmlToolIconsDoc;
_pXmlToolIconsDoc = nullptr;
isAllLaoded = false;
}
//------------------------------//
// shortcuts.xml : for per user //
//------------------------------//

View File

@ -1,108 +0,0 @@
# Everything after "#" is a comment.
# A file is a class!
# (optional) class definition:
class_name MyClass
# Inheritance:
extends BaseClass
# Member variables.
var a = 5
var s = "Hello"
var arr = [1, 2, 3]
var dict = {"key": "value", 2: 3}
var other_dict = {key = "value", other_key = 2}
var typed_var: int
var inferred_type := "String"
var ss = '''
func invalid_single_quote():
pass
'''
var sd = """
func invalid_func_double_quote():
pass
"""
# Constants.
const ANSWER = 42
const THE_NAME = "Charly"
# Enums.
enum {UNIT_NEUTRAL, UNIT_ENEMY, UNIT_ALLY}
enum Named {THING_1, THING_2, ANOTHER_THING = -1}
# Built-in vector types.
var v2 = Vector2(1, 2)
var v3 = Vector3(1, 2, 3)
# Functions.
func my_func(arg1 : int = sin(1), arg2 : String = "") -> void:
return
func some_function(param1, param2, param3):
if param1 < local_const:
print(param1)
elif param2 > 5:
print(param2)
else:
print("Fail!")
for i in range(20):
print(i)
while param2 != 0:
param2 -= 1
match param3:
3:
print("param3 is 3!")
_:
print("param3 is not 3!")
var local_var = param1 + 3
return local_var
# Functions override functions with the same name on the base/super class.
# If you still want to call them, use "super":
func something(p1, p2):
super(p1, p2)
# It's also possible to call another function in the super class:
func other_something(p1, p2):
super.something(p1, p2)
# Inner class
class Something:
var a = 10
func inner_function():
return
func my_func(arg1 : int = sin(1), arg2 : String = "") -> void:
return
# Inner class with inheritance
class fish extends Node2D:
func _init():
_randomize()
func _randomize():
randomize()
_size = rand_range(0.75,2.0)
# Constructor
func _init():
print("Constructed!")
var lv = Something.new()
print(lv.a)

View File

@ -1 +0,0 @@
{"leaves":["my_func(arg1 : int = sin(1), arg2 : String = \"\") -> void","some_function(param1, param2, param3)","something(p1, p2)","other_something(p1, p2)","_init()"],"nodes":[{"leaves":["inner_function()","my_func(arg1 : int = sin(1), arg2 : String = \"\") -> void"],"name":"Something"},{"leaves":["_init()","_randomize()"],"name":"fish"}],"root":"unitTest"}

View File

@ -1,258 +0,0 @@
/****************************************************************
** **
** Name: AsyncFX **
** Author: Andreas Falkenhahn **
** Version: 1.2 **
** Date: 17.01.19 **
** Interpreter: Hollywood 8.0 **
** Licence: Sample program for Hollywood **
** Function: Demonstrates asynchronous transition effects **
** **
** History: **
** **
** 1.2: (07.01.19) **
** **
** - uses the new @DIRECTORY preprocessor command now which **
** will automatically link all pics when compiling **
** **
** 1.1: (29.03.13) **
** **
** - added BeginRefresh()/EndRefresh() section for optimized **
** drawing on supported systems **
** **
** 1.0: (17.09.08) **
** **
** - initial release **
** **
****************************************************************/
/*
** Important! Check if the used Hollywood version is at least
** version 8.0!
*/
@VERSION 8,0
@DIRECTORY 1, "pics"
@SPRITE 1, "buttons.png", {Frames = 2, Width = 137, Height = 24, Transparency = $ff0000}
/*
** Initial display dimensions
*/
@DISPLAY {Width = 800, Height = 600}
/* check if a picture is already on screen */
Function p_CheckPic(x)
For Local k = 0 To 15
If p[k].brush = x Then Return(True)
Next
Return(False)
EndFunction
/* select a random effect */
Function p_ChooseFX(use_globfx)
Local found = False
Local type
; do we want a global effect or a new effect for every object?
If (use_globfx = True) And (bstate = 2) Then Return(globfx)
While found = False
type = GetRandomFX(True)
; no #SCROLL effects please! They'd corrupt the display because we aren't using layers!
Switch type
Case #SCROLLWEST
Case #SCROLLEAST
Case #SCROLLNORTH
Case #SCROLLSOUTH
Case #SCROLLNORTHEAST
Case #SCROLLSOUTHEAST
Case #SCROLLSOUTHWEST
Case #SCROLLNORTHWEST
Default
found = True
EndSwitch
Wend
Return(type)
EndFunction
/* start new transition effect */
Function p_TOFunc(msg)
Local t
Local k = msg.userdata
; choose a new global effect if we're in static mode!
If (k = 0) And (bstate = 2) Then globfx = p_ChooseFX(False)
; randomly choose a new picture but it must not be on screen!
Repeat
t = Rnd(num)
Until p_CheckPic(t) = False
; remember picture
p[k].brush = t
; go!
p[k].drawfunc = DisplayBrushFX(p[k].brush + 1, p[k].x * 200, p[k].y * 150, {Async = True, Type = p_ChooseFX(True), Parameter = #WHITE})
p[k].active = True
EndFunction
Function p_SyncedRestart()
For Local k = 0 To 15 Do p_TOFunc({userdata = k})
EndFunction
/* our main loop */
Function p_MainLoop()
BeginRefresh
For Local k = 0 To 15
If p[k].active = True
If AsyncDrawFrame(p[k].drawfunc) = True
p[k].active = False
If bstate = 2
; We're in static mode --> make sure our FX are absolutely sync'ed
If k = 15 Then SetTimeout(Nil, p_SyncedRestart, 1000)
p[k].cleartimeout = False
Else
; FX has finished!
; --> wait 1 second and then display next pic
; note that we have to use SetTimeout() because we are in a callback and must
; not call functions that block the system (e.g. do not use Wait() in a callback!)
p[k].timeout = SetTimeout(Nil, p_TOFunc, 1000, k)
p[k].cleartimeout = True
EndIf
EndIf
EndIf
Next
EndRefresh
EndFunction
/* start all effects */
Function p_Start16FX()
; start from new!
For Local k = 0 To 15
p[k].drawfunc = DisplayBrushFX(p[k].brush + 1, p[k].x * 200, p[k].y * 150, {Async = True, Type = p_ChooseFX(True), Parameter = #WHITE})
p[k].active = True
Next
EndFunction
/* scan files and start the transition effects */
Function p_Init()
Local t
; count files
num = CountDirectoryEntries(1)
; load brushes
For Local k = 1 to num Do LoadBrush(k, GetDirectoryEntry(1, PadNum(k, 2) .. ".jpg"))
p = {}
For Local k = 0 To 15 Do p[k] = {brush = -1}
; generate initial picture layout
For Local k = 0 To 15
Repeat
t = Rnd(num)
Until p_CheckPic(t) = False
p[k].brush = t
Next
Local k = 0
; generate x & y coordinates for our FX
For Local y = 0 To 3
For Local x = 0 To 3
p[k].x = x
p[k].y = y
k = k + 1
Next
Next
; start all FX at once
p_Start16FX()
EndFunction
/* this function gets called when the user presses a button */
Function p_EventFunc(msg)
If msg.id = bstate Then Return
bstate = msg.id
; update button state
DisplaySprite(1, 654, 570, bstate)
; cancel all async drawings or clear timeouts
For Local k = 0 To 15
If p[k].active = True
CancelAsyncDraw(p[k].drawfunc)
p[k].active = False
Else
If p[k].cleartimeout = True Then ClearTimeout(p[k].timeout)
EndIf
Next
; clear screen
Box(0, 0, 800, 600, #BLACK)
; choose a new global effect if we're in static mode
If bstate = 2 Then globfx = p_ChooseFX(False)
p_Start16FX()
EndFunction
p_Init()
SetFillStyle(#FILLCOLOR)
SetInterval(Nil, p_MainLoop, 1000 \ 50) ; 50 fps
bstate = 1
MakeButton(1, #SIMPLEBUTTON, 654, 570, 64, 24, {OnMouseUp = p_EventFunc})
MakeButton(2, #SIMPLEBUTTON, 727, 570, 64, 24, {OnMouseUp = p_EventFunc})
DisplaySprite(1, 654, 570)
EscapeQuit(True)
Repeat
WaitEvent
Forever

View File

@ -1 +0,0 @@
{"leaves":["p_CheckPic","p_ChooseFX","p_TOFunc","p_SyncedRestart","p_MainLoop","p_Start16FX","p_Init","p_EventFunc"],"root":"unitTest"}

View File

@ -15,11 +15,6 @@ function extractKeywords(text) {
filter(function(v, i, a) { return a.lastIndexOf(v) === i; });
}
/*
function commentedFunc() {
return 0;
}
*/
function convertBasicMarkup(input, allowHtml) {
var strongRe = /[*]{2}([^*]+)[*]{2}/gm;
@ -366,26 +361,4 @@ var LoginToken = new Schema({
}
exports.defineModels = defineModels;
class Car {
constructor(name, year) {
this.name = name;
this.year = year;
}
age(x) {
return x - this.year;
}
}
const date = new Date();
let year = date.getFullYear();
const myCar = new Car("Ford", 2014);
document.getElementById("demo").innerHTML=
"My car is " + myCar.age(year) + " years old.";

View File

@ -1 +1 @@
{"leaves":["extractKeywords","convertBasicMarkup","function","function","function","function","defineModels","slugGenerator","slugGenerator","validatePresenceOf","function","function","function","function","function","function"],"nodes":[{"leaves":["constructor","age"],"name":"Car"}],"root":"unitTest"}
{"leaves":["extractKeywords","convertBasicMarkup","function","function","function","function","defineModels","slugGenerator","slugGenerator","validatePresenceOf","function","function","function","function","function","function"],"root":"unitTest"}

View File

@ -1,46 +0,0 @@
\documentclass[12pt]{article}
\usepackage{lingmacros}
\usepackage{tree-dvips}
\begin{document}
\section*{Notes for My Paper}
Don't forget to include examples of topicalization.
They look like this:
{\small
\enumsentence{Topicalization from sentential subject:\\
\shortex{7}{a John$_i$ [a & kltukl & [el &
{\bf l-}oltoir & er & ngii$_i$ & a Mary]]}
{ & {\bf R-}clear & {\sc comp} &
{\bf IR}.{\sc 3s}-love & P & him & }
{John, (it's) clear that Mary loves (him).}}
}
\subsection*{How to handle topicalization}
I'll just assume a tree structure like (\ex{1}).
{\small
\enumsentence{Structure of A$'$ Projections:\\ [2ex]
\begin{tabular}[t]{cccc}
& \node{i}{CP}\\ [2ex]
\node{ii}{Spec} & &\node{iii}{C$'$}\\ [2ex]
&\node{iv}{C} & & \node{v}{SAgrP}
\end{tabular}
\nodeconnect{i}{ii}
\nodeconnect{i}{iii}
\nodeconnect{iii}{iv}
\nodeconnect{iii}{v}
}
}
\subsection*{Mood}
Mood changes when there is a topic, as well as when
there is WH-movement. \emph{Irrealis} is the mood when
there is a non-subject topic or WH-phrase in Comp.
\emph{Realis} is the mood when there is a subject topic
or WH-phrase.
\end{document}

View File

@ -1 +0,0 @@
{"leaves":["\\begin{document}","\\section*{Notes for My Paper}","\\subsection*{How to handle topicalization}","\\begin{tabular}[t]{cccc}","\\subsection*{Mood}"],"root":"unitTest"}

View File

@ -1,27 +0,0 @@
-- Create a file named by_ip/''ip_addess''.cap with all ip traffic of each ip host. (tshark only?)
-- Dump files are created for both source and destination hosts
function createDir (dirname)
-- this will print out an error if the directory already exists, but that's fine
os.execute("mkdir " .. dirname)
end
local dir = "by_ip"
createDir(dir)
-- create a table to hold the dumper objects/file handles
local dumpers = {}
local tap = Listener.new("ip")
-- we will be called once for every IP Header.
-- If there's more than one IP header in a given packet we'll dump the packet once per every header
function tap.packet(pinfo,tvb,ip)
local ip_src, ip_dst = tostring(ip.ip_src), tostring(ip.ip_dst)
local src_dmp, dst_dmp
end
function tap.draw()
for ip_addr,dumper in pairs(dumpers) do
dumper:flush()
end
end

View File

@ -1 +0,0 @@
{"leaves":["createDir"],"nodes":[{"leaves":["packet","draw"],"name":"tap"}],"root":"unitTest"}

View File

@ -1,562 +0,0 @@
unit unitTest;
interface
uses
System.SysUtils, System.Types, System.Classes;
{ Free function 1, declaration }
function FreeFunc1(const Param: integer): integer;
type
// -----------------------------------------------------------------------------
// TStdClass
// -----------------------------------------------------------------------------
TStdClass = class(TObject)
private type
TStdInternalClass = class(TObject)
private
FName: string;
FId: integer;
public
constructor Create;
destructor Destroy; override;
procedure CopyTo(Dest: TStdInternalClass);
property Name: string read FName write FName;
property Id: integer read FId write FId;
end;
private
FId: integer;
FValue: string;
class var FInstCnt: integer;
class function Init(Cnt: integer): boolean;
class function DeInit(Cnt: integer): boolean;
class function ToType<X: class, constructor>(const Value: string): X;
procedure SetValue(const Value: string);
public
constructor Create;
destructor Destroy; override;
function Convert<X: class, constructor>(const Value: string): X;
class property InstCnt: integer read FInstCnt;
property PropId: integer read FId write FId;
property PropValue: string read FValue write SetValue;
end;
// -----------------------------------------------------------------------------
// TGenericClass<T>
// -----------------------------------------------------------------------------
TGenericClass<T> = class(TObject)
private type
TGenericInternalClass<I, K> = class(TObject)
strict private
FName: string;
FId: I;
FValue: K;
public
constructor Create;
destructor Destroy; override;
procedure CopyTo<J>(Dest: TGenericInternalClass<I, K>);
property Name: string read FName write FName;
property Id: I read FId write FId;
property Value: K read FValue write FValue;
end;
strict private
FId: integer;
FValue: T;
class var FInstCnt: integer;
class function Init<I>(Cnt: integer): boolean;
class function DeInit(Cnt: integer): boolean;
procedure SetValue(const Value: T);
public
constructor Create;
destructor Destroy; override;
class property InstCnt: integer read FInstCnt;
property PropId: integer read FId write FId;
property PropValue: T read FValue write SetValue;
end;
type
// -----------------------------------------------------------------------------
// TEnum
// -----------------------------------------------------------------------------
TEnum = (enMember1, enMember2, enMember3);
TEnumHelper = record helper for TEnum
public
function ToString: string;
class function FromString(const AString: string): TEnum; static;
end;
// -----------------------------------------------------------------------------
// TStdClassHelper
// -----------------------------------------------------------------------------
TStdClassHelper = class helper for TStdClass
public
function AsString: string;
class function FromString(const AString: string): TStdClass; static;
end;
// -----------------------------------------------------------------------------
// Free routines declarations
// -----------------------------------------------------------------------------
procedure FreeProc1(AParam: integer);
function FreeFunc2(const AParam: string): integer; inline;
procedure FreeProc2(AParam: integer);
{function UnusedFreeFunc1(ANum: double): cardinal;}
procedure FreeProc3(AParam: integer); overload; inline;
procedure FreeProc3(AParam: string); overload; inline;
(*
function UnusedFreeFunc2(ANum: double): cardinal;
function UnusedFreeFunc3(ANum: double): cardinal;
*)
implementation
{R *.dfm}
type
// -----------------------------------------------------------------------------
// Internal classes
// -----------------------------------------------------------------------------
TInternalClass = class(TObject)
public
function Init(Cnt: integer): boolean;
procedure SetValue(Cnt: integer);
end;
// -----------------------------------------------------------------------------
// Free routines
// -----------------------------------------------------------------------------
{ Free function 3, forward declaration}
function FreeFunc3(const Param: integer): integer; forward;
{ Free function 1, definition }
function FreeFunc1(const Param: integer): integer;
begin
//
Result := 0;
end;
{ Free procedure 1, definition }
procedure FreeProc1(AParam: integer);
begin
// Do something
end;
{ Free function 2, definition }
function FreeFunc2(const AParam: string): integer;
begin
// Do something
Result := 0;
end;
{
// Unused free function 1, definition
function UnusedFreeFunc1(ANum: double): cardinal;
begin
// Do something
Result := 0;
end;
}
{ Free procedure 2, definition }
procedure FreeProc2(AParam: integer);
begin
// Do something
end;
(*
// Unused free function 2, definition
function UnusedFreeFunc2(ANum: double): cardinal;
begin
// Do something
Result := 0;
end;
{ Unused free function 3, definition }
function UnusedFreeFunc3(ANum: double): cardinal;
begin
// Do something
Result := 0;
end;
*)
{ Free procedure 3 (overloaded), definition }
procedure FreeProc3(AParam: integer);
begin
//
end;
procedure FreeProc3(AParam: string);
begin
//
end;
{ Free procedure 4, forward declaration}
procedure FreeProc4(const Param: integer); forward;
// -----------------------------------------------------------------------------
// TStdClass
// -----------------------------------------------------------------------------
constructor TStdClass.Create;
begin
inherited;
Init(Succ(InstCnt));
end;
destructor TStdClass.Destroy;
begin
DeInit(Pred(InstCnt));
inherited;
end;
class function TStdClass.Init(Cnt: integer): boolean;
begin
FInstCnt := Cnt;
Result := true;
end;
class function TStdClass.DeInit(Cnt: integer): boolean;
begin
FInstCnt := Cnt;
Result := true;
end;
class function TStdClass.ToType<X>(const Value: string): X;
begin
Result := X.Create;
end;
procedure TStdClass.SetValue(const Value: string);
begin
FValue := Value;
end;
function TStdClass.Convert<X>(const Value: string): X;
begin
Result := ToType<X>(Value);
end;
// -----------------------------------------------------------------------------
// TStdClass.TStdInternalClass
// -----------------------------------------------------------------------------
constructor TStdClass.TStdInternalClass.Create;
begin
inherited;
//
end;
destructor TStdClass.TStdInternalClass.Destroy;
begin
//
inherited;
end;
procedure TStdClass.TStdInternalClass.CopyTo(Dest: TStdInternalClass);
begin
Dest.Name := Name;
Dest.Id := Id;
end;
// -----------------------------------------------------------------------------
// Free routines
// -----------------------------------------------------------------------------
{ Free function 3 with internal procedure, definition }
function FreeFunc3(const Param: integer): integer;
procedure InternalProc1(const Param: integer);
begin
//
end;
begin
//
Result := 0;
end;
{ Free procedure 4 with internal function, definition }
procedure FreeProc4(const Param: integer);
function InternalFunc1(const Param: integer): string;
begin
//
Result := '';
end;
begin
//
end;
{ Free procedure 5 with internal procedure preceeded by a comment, declaration & definition }
procedure FreeProc5;
// Internal routine
procedure InternalProc2;
begin
//
end;
begin
//
end;
{ Free procedure 6 (inline), declaration & definition }
procedure FreeProc6; inline;
begin
//
end;
// -----------------------------------------------------------------------------
// TGenericClass<T>
// -----------------------------------------------------------------------------
constructor TGenericClass<T>.Create;
begin
inherited;
Init<string>(Succ(InstCnt));
end;
destructor TGenericClass<T>.Destroy;
begin
DeInit(Pred(InstCnt));
inherited;
end;
// This is a class function
class function TGenericClass<T>.Init<I>(Cnt: integer): boolean;
begin
FInstCnt := Cnt;
Result := true;
end;
// This is a class function
class function TGenericClass<T>.DeInit(Cnt: integer): boolean;
begin
FInstCnt := Cnt;
Result := true;
end;
procedure TGenericClass<T>.SetValue(const Value: T);
begin
FValue := Value;
end;
// -----------------------------------------------------------------------------
// TGenericClass<T>.TGenericInternalClass<I, K>
// -----------------------------------------------------------------------------
constructor TGenericClass<T>.TGenericInternalClass<I, K>.Create;
begin
inherited;
FName := '';
FId := Default(I);
FValue := Default(K);
end;
destructor TGenericClass<T>.TGenericInternalClass<I, K>.Destroy;
begin
//
inherited;
end;
procedure TGenericClass<T>.TGenericInternalClass<I, K>.CopyTo<J>(Dest: TGenericInternalClass<I, K>);
begin
Dest.Name := Name;
Dest.Id := Id;
Dest.Value := Value;
end;
// -----------------------------------------------------------------------------
// TInternalClass
// -----------------------------------------------------------------------------
function TInternalClass.Init(Cnt: integer): boolean;
begin
Result := true;
end;
procedure TInternalClass.SetValue(Cnt: integer);
begin
//
end;
// -----------------------------------------------------------------------------
// TEnumHelper
// -----------------------------------------------------------------------------
function TEnumHelper.ToString: string;
begin
case Self of
enMember2: Result := 'Member 2';
enMember3: Result := 'Member 3';
else Result := 'Unknown';
end;
end;
class function TEnumHelper.FromString(const AString: string): TEnum;
begin
if SameText(AString, 'Member 2') then
Result := enMember2
else if SameText(AString, 'Member 3') then
Result := enMember3
else
Result := enMember1;
end;
// -----------------------------------------------------------------------------
// TStdClassHelper
// -----------------------------------------------------------------------------
function TStdClassHelper.AsString: string;
begin
Result := 'TStdClass instance';
end;
class function TStdClassHelper.FromString(const AString: string): TStdClass;
begin
Result := TStdClass.Create.Convert<TStdClass>(AString);
end;
end.

View File

@ -1 +0,0 @@
{"leaves":["FreeFunc1","FreeProc1","FreeFunc2","FreeProc2","FreeProc3","FreeProc3","FreeFunc3","InternalProc1","FreeProc4","InternalFunc1","FreeProc5","InternalProc2","FreeProc6"],"nodes":[{"leaves":["Create","Destroy","Init","DeInit","ToType<X>","SetValue","Convert<X>"],"name":"TStdClass"},{"leaves":["Create","Destroy","CopyTo"],"name":"TStdClass.TStdInternalClass"},{"leaves":["Create","Destroy","Init<I>","DeInit","SetValue"],"name":"TGenericClass<T>"},{"leaves":["Create","Destroy","CopyTo<J>"],"name":"TGenericClass<T>.TGenericInternalClass<I, K>"},{"leaves":["Init","SetValue"],"name":"TInternalClass"},{"leaves":["ToString","FromString"],"name":"TEnumHelper"},{"leaves":["AsString","FromString"],"name":"TStdClassHelper"}],"root":"unitTest"}

View File

@ -27,24 +27,15 @@ abstract class PageGrille extends PageMotsBleus{
return str_replace ( "\\" , "" , $pStr);
}
function GetJavascriptMajax() { /* a block comment */
function GetJavascriptMajax() {
return "ABC";
}
/*
function commentedFunc1() {
return "commented 1";
}
*/
}
function stringContainAsterisk_test1(){
$target = '/path/to/files/*';
}
/*function commentedFunc2(){
return "commented 2";
}*/
function stringContainAsterisk_test2(){
$target = '/path/to/files/*.jpg';
}

View File

@ -14,13 +14,6 @@ function Clear-Host
$host.PrivateData.ClearHost()
}
<#
function Commented-Func
{
return $s
}
#>
<#
.SYNOPSIS
Simple path completion function for PowerConsole.

View File

@ -1,11 +0,0 @@
def func1(a,b):
pass
def func2(a,b):
pass
def func3(a,b):
pass
def func4(a,b):
pass

View File

@ -1 +0,0 @@
{"leaves":["func1(a,b)","func2(a,b)","func3(a,b)","func4(a,b)"],"root":"unitTest"}

View File

@ -1 +0,0 @@
{"leaves":["func1(a,b)","func2(a,b)","func3(a,b)","func4(a,b)"],"root":"unitTest"}

View File

@ -299,16 +299,7 @@ class SampleClassGood(object):
def __init__ (self, fileName):
self.fileName = fileName
def calculate_area(radius: float, pi: float = 3.14) -> float:
return pi * radius ** 2
async def greet(name: str) -> str:
return f"Hello, {name}!"
def add_numbers(a: int, b: int, c: int) -> int:
return a + b + c

View File

@ -1 +1 @@
{"leaves":["dfs(G, s)","bfs(G, s)","dijk(G, s)","topo(G, ind=None, Q=[1])","adjm()","floy(A_and_n)","prim(G, s)","edglist()","krusk(E_and_n)","greet(name: str) -> str","add_numbers(a: int, b: int, c: int) -> int"],"nodes":[{"leaves":["__init__ (self, fileName)"],"name":"SampleClassBad"},{"leaves":["__init__ (self, fileName)","calculate_area(radius: float, pi: float = 3.14) -> float"],"name":"SampleClassGood"}],"root":"unitTest"}
{"leaves":["dfs(G, s)","bfs(G, s)","dijk(G, s)","topo(G, ind=None, Q=[1])","adjm()","floy(A_and_n)","prim(G, s)","edglist()","krusk(E_and_n)"],"nodes":[{"leaves":["__init__ (self, fileName)"],"name":"SampleClassBad"},{"leaves":["__init__ (self, fileName)"],"name":"SampleClassGood"}],"root":"unitTest"}

View File

@ -1,304 +0,0 @@
#!/usr/bin/env perl
# pltags - create a tags file for Perl code, for use by vi(m)
#
# Distributed with Vim <http://www.vim.org/>, latest version always available
# at <http://www.mscha.com/mscha.html?pltags#tools>
#
# Version 2.3, 28 February 2002
#
# Written by Michael Schaap <pltags@mscha.com>. Suggestions for improvement
# are very welcome!
#
# This script will not work with Perl 4 or below!
#
# Revision history:
# 1.0 1997? Original version, quickly hacked together
# 2.0 1999? Completely rewritten, better structured and documented,
# support for variables, packages, Exuberant Ctags extensions
# 2.1 Jun 2000 Fixed critical bug (typo in comment) ;-)
# Support multiple level packages (e.g. Archive::Zip::Member)
# 2.2 Jul 2001 'Glob' wildcards - especially useful under Windows
# (thanks to Serge Sivkov and Jason King)
# Bug fix: reset package name for each file
# 2.21 Jul 2001 Oops... bug in variable detection (/local../ -> /^local.../)
# 2.3 Feb 2002 Support variables declared with "our"
# (thanks to Lutz Mende)
# Complain about undeclared variables
use strict;
# Used modules
use Getopt::Long;
# Options with their defaults
my $do_subs = 1; # --subs, --nosubs include subs in tags file?
my $do_vars = 1; # --vars, --novars include variables in tags file?
my $do_pkgs = 1; # --pkgs, --nopkgs include packages in tags file?
my $do_exts = 1; # --extensions, --noextensions
# include Exuberant Ctags extensions
# Global variables
my $VERSION = "2.21"; # pltags version
my $status = 0; # GetOptions return value
my $file = ""; # File being processed
my @tags = (); # List of produced tags
my $is_pkg = 0; # Are we tagging a package?
my $has_subs = 0; # Has this file any subs yet?
my $package_name = ""; # Name of current package
my $var_continues = 0; # Variable declaration continues on last line
my $line = ""; # Current line in file
my $stmt = ""; # Current Perl statement
my @vars = (); # List of variables in declaration
my $var = ""; # Variable in declaration
my $tagline = ""; # Tag file line
# Create a tag file line and push it on the list of found tags
sub MakeTag($$$$$)
{
my ($tag, # Tag name
$type, # Type of tag
$is_static, # Is this a static tag?
$file, # File in which tag appears
$line) = @_; # Line in which tag appears
my $tagline = ""; # Created tag line
# Only process tag if not empty
if ($tag)
{
# Get rid of \n, and escape / and \ in line
chomp $line;
$line =~ s/\\/\\\\/g;
$line =~ s/\//\\\//g;
# Create a tag line
$tagline = "$tag\t$file\t/^$line\$/";
# If we're told to do so, add extensions
if ($do_exts)
{
$tagline .= ";\"\t$type"
. ($is_static ? "\tfile:" : "")
. ($package_name ? "\tclass:$package_name" : "");
}
# Push it on the stack
push (@tags, $tagline);
}
}
# Parse package name from statement
sub PackageName($)
{
my ($stmt) = @_; # Statement
# Look for the argument to "package". Return it if found, else return ""
if ($stmt =~ /^package\s+([\w:]+)/)
{
my $pkgname = $1;
# Remove any parent package name(s)
$pkgname =~ s/.*://;
return $pkgname;
}
else
{
return "";
}
}
# Parse sub name from statement
sub SubName($)
{
my ($stmt) = @_; # Statement
# Look for the argument to "sub". Return it if found, else return ""
if ($stmt =~ /^sub\s+([\w:]+)/)
{
my $subname = $1;
# Remove any parent package name(s)
$subname =~ s/.*://;
return $subname;
}
else
{
return "";
}
}
# Parse all variable names from statement
sub VarNames($)
{
my ($stmt) = @_;
# Remove my or local from statement, if present
$stmt =~ s/^(my|our|local)\s+//;
# Remove any assignment piece
$stmt =~ s/\s*=.*//;
# Now find all variable names, i.e. "words" preceded by $, @ or %
@vars = ($stmt =~ /[\$\@\%]([\w:]+)\b/g);
# Remove any parent package name(s)
map(s/.*://, @vars);
return (@vars);
}
sub functionNoParentheses {
return 1
}
############### Start ###############
print "\npltags $VERSION by Michael Schaap <mscha\@mscha.com>\n\n";
# Get options
$status = GetOptions("subs!" => \$do_subs,
"vars!" => \$do_vars,
"pkgs!" => \$do_pkgs,
"extensions!" => \$do_exts);
# Usage if error in options or no arguments given
unless ($status && @ARGV)
{
print "\n" unless ($status);
print " Usage: $0 [options] filename ...\n\n";
print " Where options can be:\n";
print " --subs (--nosubs) (don't) include sub declarations in tag file\n";
print " --vars (--novars) (don't) include variable declarations in tag file\n";
print " --pkgs (--nopkgs) (don't) include package declarations in tag file\n";
print " --extensions (--noextensions)\n";
print " (don't) include Exuberant Ctags / Vim style\n";
print " extensions in tag file\n\n";
print " Default options: ";
print ($do_subs ? "--subs " : "--nosubs ");
print ($do_vars ? "--vars " : "--novars ");
print ($do_pkgs ? "--pkgs " : "--nopkgs ");
print ($do_exts ? "--extensions\n\n" : "--noextensions\n\n");
print " Example: $0 *.pl *.pm ../shared/*.pm\n\n";
exit;
}
# Loop through files on command line - 'glob' any wildcards, since Windows
# doesn't do this for us
foreach $file (map { glob } @ARGV)
{
# Skip if this is not a file we can open. Also skip tags files and backup
# files
next unless ((-f $file) && (-r $file) && ($file !~ /tags$/)
&& ($file !~ /~$/));
print "Tagging file $file...\n";
$is_pkg = 0;
$package_name = "";
$has_subs = 0;
$var_continues = 0;
open (IN, $file) or die "Can't open file '$file': $!";
# Loop through file
foreach $line (<IN>)
{
# Statement is line with comments and whitespace trimmed
($stmt = $line) =~ s/#.*//;
$stmt =~ s/^\s*//;
$stmt =~ s/\s*$//;
# Nothing left? Never mind.
next unless ($stmt);
# This is a variable declaration if one was started on the previous
# line, or if this line starts with my or local
if ($var_continues or ($stmt =~/^my\b/)
or ($stmt =~/^our\b/) or ($stmt =~/^local\b/))
{
# The declaration continues if the line does not end with ;
$var_continues = ($stmt !~ /;$/);
# Loop through all variable names in the declaration
foreach $var (VarNames($stmt))
{
# Make a tag for this variable unless we're told not to. We
# assume that a variable is always static, unless it appears
# in a package before any sub. (Not necessarily true, but
# it's ok for most purposes and Vim works fine even if it is
# incorrect)
if ($do_vars)
{
MakeTag($var, "v", (!$is_pkg or $has_subs), $file, $line);
}
}
}
# This is a package declaration if the line starts with package
elsif ($stmt =~/^package\b/)
{
# Get name of the package
$package_name = PackageName($stmt);
if ($package_name)
{
# Remember that we're doing a package
$is_pkg = 1;
# Make a tag for this package unless we're told not to. A
# package is never static.
if ($do_pkgs)
{
MakeTag($package_name, "p", 0, $file, $line);
}
}
}
# This is a sub declaration if the line starts with sub
elsif ($stmt =~/^sub\b/)
{
# Remember that this file has subs
$has_subs = 1;
# Make a tag for this sub unless we're told not to. We assume
# that a sub is static, unless it appears in a package. (Not
# necessarily true, but it's ok for most purposes and Vim works
# fine even if it is incorrect)
if ($do_subs)
{
MakeTag(SubName($stmt), "s", (!$is_pkg), $file, $line);
}
}
}
close (IN);
}
# Do we have any tags? If so, write them to the tags file
if (@tags)
{
# Add some tag file extensions if we're told to
if ($do_exts)
{
push (@tags, "!_TAG_FILE_FORMAT\t2\t/extended format/");
push (@tags, "!_TAG_FILE_SORTED\t1\t/0=unsorted, 1=sorted/");
push (@tags, "!_TAG_PROGRAM_AUTHOR\tMichael Schaap\t/mscha\@mscha.com/");
push (@tags, "!_TAG_PROGRAM_NAME\tpltags\t//");
push (@tags, "!_TAG_PROGRAM_VERSION\t$VERSION\t/supports multiple tags and extended format/");
}
print "\nWriting tags file.\n";
open (OUT, ">tags") or die "Can't open tags file: $!";
foreach $tagline (sort @tags)
{
print OUT "$tagline\n";
}
close (OUT);
}
else
{
print "\nNo tags found.\n";
}

View File

@ -1 +0,0 @@
{"leaves":["MakeTag","PackageName","SubName","VarNames","functionNoParentheses"],"root":"unitTest"}

View File

@ -56,14 +56,6 @@ unsafe fn unsafe_example(n: u32) {
}
}
/*
unsafe fn commented_func(n: u32) {
for n in 1..n + 1 {
fizzbuzz(n);
}
}
*/
// Declares a function with the "C" ABI
extern "C" fn new_i32() -> i32 { 0 }

View File

@ -1,25 +0,0 @@
%macro printz/parmbuff;
%put Syspbuff contains: &syspbuff;
%let num=1;
%let dsname=%scan(&syspbuff,&num);
%do %while(&dsname ne);
proc print data=&dsname;
run;
%let num=%eval(&num+1);
%let dsname=%scan(&syspbuff,&num);
%end;
%mend printz;
%printz(purple,red,blue,teal)
proc cas;
function SharedBday(days, number);
p = exp( lgamma(days+1) - lgamma(days-number+1) - number*log(days));
return (1-p);
end func;
do n over {3 10 22 23 50 75};
p = SharedBday(365,n);
print "Chance at least 2 out of " put(n,best3.) "
share the same birthday = " put(p,best6.2);
end;
run;

View File

@ -1 +0,0 @@
{"leaves":["%macro printz","function SharedBday"],"root":"unitTest"}

View File

@ -1,154 +0,0 @@
create package CheckFunctionList_pck
as
function ctrlData(
po_severity in out nocopy varchar2,
po_err_code in out nocopy varchar2,
po_err_message in out nocopy varchar2,
p_Data in ind_work_data_r
) return boolean;
procedure INIT_DECODE_RULES1 (po_severity in out varchar2
,po_err_code in out varchar2
,po_err_message in out varchar2
,po_tabDecRules out nocopy report_utl_pck.tTabDecRules
);
procedure INIT_DECODE_RULES2 (po_severity in out varchar2
,po_err_code in out varchar2
,po_err_message in out varchar2
,po_tabDecRules out nocopy report_utl_pck.tTabDecRules);
function GetEsecId
return tab1.esec_id%type;
procedure pippo;
procedure INIT_DECODE_RULES3 (po_severity in out varchar2
,po_err_code in out varchar2
,po_err_message in out varchar2
,po_guid in guid_list_t := guid_list_t()
,po_tabDecRules out nocopy report_utl_pck.tTabDecRules);
procedure INIT_DECODE_RULES4 (po_severity in out varchar2
,po_err_code in out varchar2
,po_err_message in out varchar2
,po_guid in guid_list_t := guid_list_t()
,po_tabDecRules out nocopy report_utl_pck.tTabDecRules
);
procedure INIT_DECODE_RULES5 (po_severity in out varchar2
,po_err_code in out varchar2
,po_err_message in out varchar2 -- this is a comment with (brackets)
,po_tabDecRules out nocopy report_utl_pck.tTabDecRules);
procedure INIT_DECODE_RULES6 (po_severity in out varchar2
,po_err_code in out varchar2
,po_err_message in out varchar2 -- this is a comment with (brackets)
,po_tabDecRules out nocopy report_utl_pck.tTabDecRules
);
end CheckFunctionList_pck;
/
create package body CheckFunctionList_pck
as
function ctrlData(
po_severity in out nocopy varchar2,
po_err_code in out nocopy varchar2,
po_err_message in out nocopy varchar2,
p_Data in ind_work_data_r
) return boolean
is
begin
return null;
end ctrlData;
procedure INIT_DECODE_RULES1 (po_severity in out varchar2
,po_err_code in out varchar2
,po_err_message in out varchar2
,po_tabDecRules out nocopy report_utl_pck.tTabDecRules
)
as
begin
null;
end INIT_DECODE_RULES1;
procedure INIT_DECODE_RULES2 (po_severity in out varchar2
,po_err_code in out varchar2
,po_err_message in out varchar2
,po_tabDecRules out nocopy report_utl_pck.tTabDecRules)
as
begin
null;
end INIT_DECODE_RULES2;
function GetEsecId
return tab1.esec_id%type
is
begin
return null;
end GetEsecId;
procedure pippo
is
begin
null;
end pippo;
procedure INIT_DECODE_RULES3 (po_severity in out varchar2
,po_err_code in out varchar2
,po_err_message in out varchar2
,po_guid in guid_list_t := guid_list_t()
,po_tabDecRules out nocopy report_utl_pck.tTabDecRules)
as
begin
null;
end INIT_DECODE_RULES3;
procedure INIT_DECODE_RULES4 (po_severity in out varchar2
,po_err_code in out varchar2
,po_err_message in out varchar2
,po_guid in guid_list_t := guid_list_t()
,po_tabDecRules out nocopy report_utl_pck.tTabDecRules
)
as
begin
null;
end INIT_DECODE_RULES4;
procedure INIT_DECODE_RULES5 (po_severity in out varchar2
,po_err_code in out varchar2
,po_err_message in out varchar2 -- this is a comment with (brackets)
,po_tabDecRules out nocopy report_utl_pck.tTabDecRules)
as
begin
null;
end INIT_DECODE_RULES5;
procedure INIT_DECODE_RULES6 (po_severity in out varchar2
,po_err_code in out varchar2
,po_err_message in out varchar2 -- this is a comment with (brackets)
,po_tabDecRules out nocopy report_utl_pck.tTabDecRules
)
as
begin
null;
end INIT_DECODE_RULES6;
end CheckFunctionList_pck;
/

View File

@ -1 +0,0 @@
{"leaves":["ctrlData(\r\n po_severity in out nocopy varchar2,\r\n po_err_code in out nocopy varchar2,\r\n po_err_message in out nocopy varchar2,\r\n p_Data in ind_work_data_r\r\n) return boolean","INIT_DECODE_RULES1 (po_severity in out varchar2\r\n ,po_err_code in out varchar2\r\n ,po_err_message in out varchar2\r\n ,po_tabDecRules out nocopy report_utl_pck.tTabDecRules\r\n )","INIT_DECODE_RULES2 (po_severity in out varchar2\r\n ,po_err_code in out varchar2\r\n ,po_err_message in out varchar2\r\n ,po_tabDecRules out nocopy report_utl_pck.tTabDecRules)","GetEsecId\r\nreturn tab1.esec_id%type","pippo","INIT_DECODE_RULES3 (po_severity in out varchar2\r\n ,po_err_code in out varchar2\r\n ,po_err_message in out varchar2\r\n ,po_guid in guid_list_t := guid_list_t()","INIT_DECODE_RULES4 (po_severity in out varchar2\r\n ,po_err_code in out varchar2\r\n ,po_err_message in out varchar2\r\n ,po_guid in guid_list_t := guid_list_t()","INIT_DECODE_RULES5 (po_severity in out varchar2\r\n ,po_err_code in out varchar2\r\n ,po_err_message in out varchar2 -- this is a comment with (brackets)","INIT_DECODE_RULES6 (po_severity in out varchar2\r\n ,po_err_code in out varchar2\r\n ,po_err_message in out varchar2 -- this is a comment with (brackets)","ctrlData(\r\n po_severity in out nocopy varchar2,\r\n po_err_code in out nocopy varchar2,\r\n po_err_message in out nocopy varchar2,\r\n p_Data in ind_work_data_r\r\n) return boolean\r\nis\r\nbegin\r\n return null","INIT_DECODE_RULES1 (po_severity in out varchar2\r\n ,po_err_code in out varchar2\r\n ,po_err_message in out varchar2\r\n ,po_tabDecRules out nocopy report_utl_pck.tTabDecRules\r\n )","INIT_DECODE_RULES2 (po_severity in out varchar2\r\n ,po_err_code in out varchar2\r\n ,po_err_message in out varchar2\r\n ,po_tabDecRules out nocopy report_utl_pck.tTabDecRules)","GetEsecId\r\nreturn tab1.esec_id%type\r\nis\r\nbegin\r\n return null","pippo","INIT_DECODE_RULES3 (po_severity in out varchar2\r\n ,po_err_code in out varchar2\r\n ,po_err_message in out varchar2\r\n ,po_guid in guid_list_t := guid_list_t()","INIT_DECODE_RULES4 (po_severity in out varchar2\r\n ,po_err_code in out varchar2\r\n ,po_err_message in out varchar2\r\n ,po_guid in guid_list_t := guid_list_t()","INIT_DECODE_RULES5 (po_severity in out varchar2\r\n ,po_err_code in out varchar2\r\n ,po_err_message in out varchar2 -- this is a comment with (brackets)","INIT_DECODE_RULES6 (po_severity in out varchar2\r\n ,po_err_code in out varchar2\r\n ,po_err_message in out varchar2 -- this is a comment with (brackets)"],"root":"unitTest"}

View File

@ -1,90 +0,0 @@
CREATE OR REPLACE PACKAGE BODY emp_mgmt AS
tot_emps NUMBER;
tot_depts NUMBER;
FUNCTION hire
(last_name VARCHAR2, job_id VARCHAR2,
manager_id NUMBER, salary NUMBER,
commission_pct NUMBER, department_id NUMBER)
RETURN NUMBER IS new_empno NUMBER;
BEGIN
SELECT employees_seq.NEXTVAL
INTO new_empno
FROM DUAL;
INSERT INTO employees
VALUES (new_empno, 'First', 'Last','first.last@oracle.com',
'(123)123-1234','18-JUN-02','IT_PROG',90000000,00,
100,110);
tot_emps := tot_emps + 1;
RETURN(new_empno);
END;
FUNCTION create_dept(department_id NUMBER, location_id NUMBER)
RETURN NUMBER IS
new_deptno NUMBER;
BEGIN
SELECT departments_seq.NEXTVAL
INTO new_deptno
FROM dual;
INSERT INTO departments
VALUES (new_deptno, 'department name', 100, 1700);
tot_depts := tot_depts + 1;
RETURN(new_deptno);
END;
PROCEDURE remove_emp (employee_id NUMBER) IS
BEGIN
DELETE FROM employees
WHERE employees.employee_id = remove_emp.employee_id;
tot_emps := tot_emps - 1;
END;
PROCEDURE remove_dept(department_id NUMBER) IS
BEGIN
DELETE FROM departments
WHERE departments.department_id = remove_dept.department_id;
tot_depts := tot_depts - 1;
SELECT COUNT(*) INTO tot_emps FROM employees;
END;
PROCEDURE increase_sal(employee_id NUMBER, salary_incr NUMBER) IS
curr_sal NUMBER;
BEGIN
SELECT salary INTO curr_sal FROM employees
WHERE employees.employee_id = increase_sal.employee_id;
IF curr_sal IS NULL
THEN RAISE no_sal;
ELSE
UPDATE employees
SET salary = salary + salary_incr
WHERE employee_id = employee_id;
END IF;
END;
PROCEDURE increase_comm(employee_id NUMBER, comm_incr NUMBER) IS
curr_comm NUMBER;
BEGIN
SELECT commission_pct
INTO curr_comm
FROM employees
WHERE employees.employee_id = increase_comm.employee_id;
IF curr_comm IS NULL
THEN RAISE no_comm;
ELSE
UPDATE employees
SET commission_pct = commission_pct + comm_incr;
END IF;
END;
END emp_mgmt;
/*
PROCEDURE commented_func(employee_id NUMBER, comm_incr NUMBER) IS
curr_comm NUMBER;
BEGIN
SELECT commission_pct
INTO curr_comm
FROM employees
WHERE employees.employee_id = increase_comm.employee_id;
IF curr_comm IS NULL
THEN RAISE no_comm;
ELSE
UPDATE employees
SET commission_pct = commission_pct + comm_incr;
END IF;
END;
END emp_mgmt;
*/
/

View File

@ -1 +0,0 @@
{"leaves":["hire \r\n (last_name VARCHAR2, job_id VARCHAR2, \r\n manager_id NUMBER, salary NUMBER, \r\n commission_pct NUMBER, department_id NUMBER) \r\n RETURN NUMBER IS new_empno NUMBER","create_dept(department_id NUMBER, location_id NUMBER) \r\n RETURN NUMBER IS \r\n new_deptno NUMBER","remove_emp (employee_id NUMBER)","remove_dept(department_id NUMBER)","increase_sal(employee_id NUMBER, salary_incr NUMBER)","increase_comm(employee_id NUMBER, comm_incr NUMBER)"],"root":"unitTest"}

View File

@ -1,46 +0,0 @@
\documentclass[12pt]{article}
\usepackage{lingmacros}
\usepackage{tree-dvips}
\begin{document}
\section*{Notes for My Paper}
Don't forget to include examples of topicalization.
They look like this:
{\small
\enumsentence{Topicalization from sentential subject:\\
\shortex{7}{a John$_i$ [a & kltukl & [el &
{\bf l-}oltoir & er & ngii$_i$ & a Mary]]}
{ & {\bf R-}clear & {\sc comp} &
{\bf IR}.{\sc 3s}-love & P & him & }
{John, (it's) clear that Mary loves (him).}}
}
\subsection*{How to handle topicalization}
I'll just assume a tree structure like (\ex{1}).
{\small
\enumsentence{Structure of A$'$ Projections:\\ [2ex]
\begin{tabular}[t]{cccc}
& \node{i}{CP}\\ [2ex]
\node{ii}{Spec} & &\node{iii}{C$'$}\\ [2ex]
&\node{iv}{C} & & \node{v}{SAgrP}
\end{tabular}
\nodeconnect{i}{ii}
\nodeconnect{i}{iii}
\nodeconnect{iii}{iv}
\nodeconnect{iii}{v}
}
}
\subsection*{Mood}
Mood changes when there is a topic, as well as when
there is WH-movement. \emph{Irrealis} is the mood when
there is a non-subject topic or WH-phrase in Comp.
\emph{Realis} is the mood when there is a subject topic
or WH-phrase.
\end{document}

View File

@ -1 +0,0 @@
{"leaves":["\\begin{document}","\\section*{Notes for My Paper}","\\subsection*{How to handle topicalization}","\\begin{tabular}[t]{cccc}","\\subsection*{Mood}"],"root":"unitTest"}

View File

@ -1,58 +0,0 @@
# This is a TOML document.
title = "TOML Example"
[owner]
name = "Tom Preston-Werner"
dob = 1979-05-27T07:32:00-08:00 # First class dates
[database]
server = "192.168.1.1"
ports = [ 8000, 8001, 8002 ]
connection_max = 5000
enabled = true
[servers]
toto = "titi"
# Indentation (spaces) is allowed but not required
[servers.alpha]
ip = "10.0.0.1"
dc = "eqdc10"
# Indentation (tabs) is allowed but not required
[servers.beta]
ip = "10.0.0.2"
dc = "eqdc10"
# No indentation is correct too
[servers.gamma]
ip = "10.0.0.3"
dc = "eqdc10"
[servers_underscore]
ip = "10.0.0.4"
dc = "eqdc10"
[servers."double-quot"]
ip = "10.0.0.4"
dc = "eqdc10"
[servers.'single-quot']
ip = "10.0.0.4"
dc = "eqdc10"
[clients]
data = [ ["gamma", "delta"], [1, 2] ]
[clients-2nd-group]
data2 = "Another data"
# Line breaks are OK when inside arrays
hosts = [
"alpha",
"omega"
]

View File

@ -1 +0,0 @@
{"leaves":["owner","database","servers","servers.alpha","servers.beta","servers.gamma","servers_underscore","servers.\"double-quot\"","servers.'single-quot'","clients","clients-2nd-group"],"root":"unitTest"}

View File

@ -15,16 +15,6 @@ function extractKeywords(text) {
filter(function(v, i, a) { return a.lastIndexOf(v) === i; });
}
/*
function commentedFunc(text) {
if (!text) return [];
return text.
split(/\s+/).
filter(function(v) { return v.length > 2; }).
filter(function(v, i, a) { return a.lastIndexOf(v) === i; });
}
*/
function convertBasicMarkup(input, allowHtml) {
var strongRe = /[*]{2}([^*]+)[*]{2}/gm;

View File

@ -1,194 +0,0 @@
::StartupScript
npp_console keep
npp_exec "SetSingleEdgeLine"
::MultipleSelectAddNext
npp_console keep
sci_sendmsg SCI_SETSEARCHFLAGS SCFIND_WHOLEWORD
sci_sendmsg SCI_TARGETWHOLEDOCUMENT
sci_sendmsg SCI_MULTIPLESELECTADDNEXT
::MultipleSelectAddEach
npp_console keep
sci_sendmsg SCI_SETSEARCHFLAGS SCFIND_WHOLEWORD
sci_sendmsg SCI_TARGETWHOLEDOCUMENT
sci_sendmsg SCI_GETSELECTIONEMPTY
if $(MSG_RESULT) == 1 then
sci_sendmsg SCI_MULTIPLESELECTADDNEXT
endif
sci_sendmsg SCI_MULTIPLESELECTADDEACH
::SetSingleEdgeLine
npp_console keep
sci_sendmsg SCI_SETEDGECOLUMN 80
sci_sendmsg SCI_SETEDGEMODE EDGE_LINE
::ConfigSingleEdgeLine
npp_console keep
sci_sendmsg SCI_GETEDGECOLUMN
inputbox "Input edge column" : "Edge column" : $(MSG_RESULT)
sci_sendmsg SCI_SETEDGECOLUMN $(INPUT)
sci_sendmsg SCI_SETEDGEMODE EDGE_LINE
::SingleEdgeLineOn
npp_console keep
sci_sendmsg SCI_SETEDGEMODE EDGE_LINE
::MultipleEdgeLinesOn
npp_console keep
sci_sendmsg SCI_SETEDGEMODE EDGE_MULTILINE
::BackgroundEdgeOn
npp_console keep
sci_sendmsg SCI_SETEDGEMODE EDGE_BACKGROUND
::EdgesOff
npp_console keep
sci_sendmsg SCI_SETEDGEMODE EDGE_NONE
::WrapSelectedLinesAtEdge
npp_console keep
sci_sendmsg SCI_GETEDGEMODE
if~ $(MSG_RESULT) != EDGE_LINE then
set local $(LinePixelWidth) = 0
goto :DoWrap
endif
sci_sendmsg SCI_GETEDGECOLUMN
set local $(LineCharWidth) ~ $(MSG_RESULT) + 1
set local $(TemplateStr) = W
set local $(Cnt) = 2
:ForLoopStart
if $(Cnt) > $(LineCharWidth) goto :ForLoopEnd
set local $(TemplateStr) = $(TemplateStr)W
set local $(Cnt) ~ $(Cnt) + 1
goto :ForLoopStart
:ForLoopEnd
sci_sendmsg SCI_TEXTWIDTH STYLE_DEFAULT "$(TemplateStr)"
set local $(LinePixelWidth) = $(MSG_RESULT)
:DoWrap
sci_sendmsg SCI_TARGETFROMSELECTION
sci_sendmsg SCI_LINESSPLIT $(LinePixelWidth)
::DeleteLinesFrom2ndView
npp_console keep
npp_console disable
npe_console -- m-
sci_sendmsg SCI_DOCUMENTSTART
npp_sendmsg NPPM_MENUCOMMAND 0 IDM_VIEW_SWITCHTO_OTHER_VIEW
sci_sendmsg SCI_DOCUMENTSTART
npp_sendmsg NPPM_GETCURRENTVIEW
if $(MSG_RESULT) == 0 then
npp_sendmsg NPPM_MENUCOMMAND 0 IDM_VIEW_SWITCHTO_OTHER_VIEW
endif
sci_sendmsg SCI_GETLINECOUNT
set local $(LineCount) = $(MSG_RESULT)
set local $(LineIdx) = 0
:ProcessSearchTerms
if $(LineIdx) >= $(LineCount) goto :End
sci_sendmsg SCI_GETLINE $(LineIdx) @""
set local $(CurLine) = $(MSG_LPARAM)
if "$(CurLine)" == "" goto :AdvanceToNextLine
npp_sendmsg NPPM_MENUCOMMAND 0 IDM_VIEW_SWITCHTO_OTHER_VIEW
sci_sendmsg SCI_GETCURRENTPOS
sci_sendmsg SCI_LINEFROMPOSITION $(MSG_RESULT)
set local $(StartLineIdx) = $(MSG_RESULT)
set local $(Flags) ~ NPE_SF_SETPOS
:ReplaceLoop
sci_find $(Flags) "$(CurLine)"
if $(MSG_RESULT) == -1 goto :ReplaceLoopEnd
sci_sendmsg SCI_LINEFROMPOSITION $(MSG_RESULT)
set local $(FoundLineIdx) = $(MSG_RESULT)
sci_sendmsg SCI_GETLINE $(FoundLineIdx) @""
set local $(FoundLine) = $(MSG_LPARAM)
set local $(FoundLineLC) ~ strlower "$(FoundLine)"
set local $(CurLineLC) ~ strlower "$(CurLine)"
if "$(FoundLineLC)" == "$(CurLineLC)" then
sci_sendmsg SCI_GOTOLINE $(FoundLineIdx)
sci_sendmsg SCI_LINEDELETE
endif
set local $(Flags) ~ $(Flags) | NPE_SF_NEXT
goto :ReplaceLoop
:ReplaceLoopEnd
sci_sendmsg SCI_GOTOLINE $(StartLineIdx)
npp_sendmsg NPPM_MENUCOMMAND 0 IDM_VIEW_SWITCHTO_OTHER_VIEW
:AdvanceToNextLine
set local $(LineIdx) ~ $(LineIdx) + 1
goto :ProcessSearchTerms
:End
sci_sendmsg SCI_DOCUMENTSTART
npp_sendmsg NPPM_MENUCOMMAND 0 IDM_VIEW_SWITCHTO_OTHER_VIEW
sci_sendmsg SCI_DOCUMENTSTART
npp_sendmsg NPPM_GETCURRENTVIEW
if $(MSG_RESULT) == 1 then
npp_sendmsg NPPM_MENUCOMMAND 0 IDM_VIEW_SWITCHTO_OTHER_VIEW
endif
npp_console enable
::ReadLongText
npp_console keep
npp_sendmsg WM_COMMAND IDM_VIEW_CLONE_TO_ANOTHER_VIEW
sci_sendmsg SCI_PAGEDOWN
npp_sendmsg WM_COMMAND IDM_VIEW_SYNSCROLLV
::TrimTrailingSpace
npp_console keep
npp_sendmsg WM_COMMAND IDM_EDIT_TRIMTRAILING

View File

@ -1 +0,0 @@
{"nodes":[{"leaves":["::StartupScript"],"name":"StartupScript"},{"leaves":["::MultipleSelectAddNext"],"name":"MultipleSelectAddNext"},{"leaves":["::MultipleSelectAddEach"],"name":"MultipleSelectAddEach"},{"leaves":["::SetSingleEdgeLine"],"name":"SetSingleEdgeLine"},{"leaves":["::ConfigSingleEdgeLine"],"name":"ConfigSingleEdgeLine"},{"leaves":["::SingleEdgeLineOn"],"name":"SingleEdgeLineOn"},{"leaves":["::MultipleEdgeLinesOn"],"name":"MultipleEdgeLinesOn"},{"leaves":["::BackgroundEdgeOn"],"name":"BackgroundEdgeOn"},{"leaves":["::EdgesOff"],"name":"EdgesOff"},{"leaves":["::WrapSelectedLinesAtEdge","ForLoopStart","ForLoopEnd","DoWrap"],"name":"WrapSelectedLinesAtEdge"},{"leaves":["::DeleteLinesFrom2ndView","ProcessSearchTerms","ReplaceLoop","ReplaceLoopEnd","AdvanceToNextLine","End"],"name":"DeleteLinesFrom2ndView"},{"leaves":["::ReadLongText"],"name":"ReadLongText"},{"leaves":["::TrimTrailingSpace"],"name":"TrimTrailingSpace"}],"root":"unitTest"}

View File

@ -22,7 +22,7 @@ Try {
if ($langName.StartsWith("udl-"))
{
$langName = $langName.Replace("udl-", "")
..\..\bin\notepad++.exe -export=functionList -udl="$langName" $testRoot$dirName\unitTest | Out-Null
..\..\bin\notepad++.exe -export=functionList -udl="`"$langName"`" $testRoot$dirName\unitTest | Out-Null
}
else
{
@ -31,24 +31,16 @@ Try {
$expectedRes = Get-Content $testRoot$dirName\unitTest.expected.result
$generatedRes = Get-Content $testRoot$dirName\unitTest.result.json
# Some parser results contain CRLF or LF (\r\n or \n) dependent of file EOL format
# In order to make tests pass in any environment, all the CRLF turning into LF (if any) in both strings
$expectedRes = $expectedRes.replace('\r\n','\n')
$generatedRes = $generatedRes.replace('\r\n','\n')
if ($generatedRes -eq $expectedRes)
{
Remove-Item $testRoot$dirName\unitTest.result.json
return 0
Remove-Item $testRoot$dirName\unitTest.result.json
return 0
}
else
{
$expectedRes
"`nvs`n"
$generatedRes
return -1
}
}
}
}
Catch

View File

@ -1,6 +1,6 @@
$testRoot = ".\"
Get-ChildItem -Path $testRoot -Attribute Directory -Name |
Get-ChildItem -Path $testRoot -Attribute Directory |
Foreach-Object {
$dirName = (Get-Item $testRoot$_).Name
@ -10,13 +10,13 @@ Foreach-Object {
$sw.Stop()
"Test: " + $sw.Elapsed.TotalMilliseconds + " ms"
if ($result -eq 0)
{
"$dirName ... OK"
}
elseif ($result -eq 1)
{
{
"$dirName ... unitTest file not found. Test skipped."
}
elseif ($result -eq -1)
@ -36,9 +36,9 @@ Foreach-Object {
"It should not happen - check your script."
exit -1
}
# Check all Sub-directories for other unit-tests
Get-ChildItem -Path $testRoot\$dirName -Attribute Directory -Name |
Get-ChildItem -Path $testRoot\$dirName -Attribute Directory |
Foreach-Object {
$subDirName = (Get-Item $testRoot$dirName\$_).Name
@ -51,7 +51,7 @@ Foreach-Object {
"$dirName-$subDirName ... OK"
}
elseif ($subResult -eq 1)
{
{
"$dirName-$subDirName ... unitTest file not found. Test skipped."
}
else

View File

@ -1,15 +0,0 @@
Module Program
Public num1 As Integer
Public num2 As Integer
Public answer As Integer
Sub Main(args As String())
Console.Write("Type a number and press Enter")
num1 = Console.ReadLine()
Console.Write("Type another number to add to it and press Enter")
num2 = Console.ReadLine()
answer = num1 + num2
Console.WriteLine("The answer is " & answer)
Console.Write("Press any key to continue...")
Console.ReadKey(True)
End Sub
End Module

View File

@ -1 +0,0 @@
{"leaves":["Main"],"root":"unitTest"}

View File

@ -1,9 +1,6 @@
<?xml version="1.0" encoding="Windows-1252" ?>
<NotepadPlus>
<GUIConfigs>
<!--
<GUIConfig name="comment">comment</GUIConfig>
-->
<GUIConfig name="ToolBar" visible="yes">standard</GUIConfig>
<GUIConfig name="StatusBar">show</GUIConfig>
<GUIConfig name="TabBar" dragAndDrop="yes" drawTopBar="yes" drawInactiveTab="yes" reduce="yes" closeButton="yes" doubleClick2Close="no" vertical="no" multiLine="no" hide="no" quitOnEmpty="no" />

View File

@ -149,11 +149,6 @@ m 0111111111111111111111111111111111111111111100000000000000000000000000 m
u https://www.youtube.com/watch?v=VmcftreqQ6E&list=PnQIRE5O5JpiLL&index=xxx u
m 1111111111111111111111111111111111111111111111111111111111111111111111111 m
u https://example.com/#/app/0?context u
m 11111111111111111111111111111111111 m
u https://example.com#/example/app/0?context u
m 111111111111111111111111111111111111111111 m
Space detection:

View File

@ -45,8 +45,6 @@ OK u "https://duckduckgo.com/?q=windows+delete+"GameBarPresenceWriter.exe" u
OK u "https://duckduckgo/com/?q=windows+delete+GameBarPresenceWriter.exe" u
OK u "https://duckduckgo.com/?q=windows+delete+""GameBarPresenceWriter.exe" u
OK u https://www.youtube.com/watch?v=VmcftreqQ6E&list=PnQIRE5O5JpiLL&index=xxx u
OK u https://example.com/#/app/0?context u
OK u https://example.com#/example/app/0?context u
OK u "http://github.com/notepad-plus-plus/notepad-plus-plus" u
OK u "https://github.com /notepad-plus-plus/notepad-plus-plus" u
OK u "https://github.com/notepad plus plus/notepad-plus-plus" u

View File

@ -1,55 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="NotepadPlus">
<xs:complexType>
<xs:sequence>
<xs:element name="AutoComplete">
<xs:complexType>
<xs:sequence>
<xs:element name="Environment" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="ignoreCase"/>
<xs:attribute type="xs:string" name="startFunc"/>
<xs:attribute type="xs:string" name="stopFunc"/>
<xs:attribute type="xs:string" name="paramSeparator"/>
<xs:attribute type="xs:string" name="terminal"/>
<xs:attribute type="xs:string" name="additionalWordChar"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="KeyWord" minOccurs="1" maxOccurs="unbounded">
<xs:complexType mixed="true">
<xs:sequence>
<xs:element name="Overload" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Param" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="name" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="retVal" use="optional"/>
<xs:attribute type="xs:string" name="descr" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="name" use="required"/>
<xs:attribute type="xs:string" name="func" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="language" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -1,52 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="NotepadPlus">
<xs:complexType>
<xs:sequence>
<xs:element name="GUIConfigs">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="GUIConfig">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="ActiveTabs">
<xs:complexType>
<xs:attribute name="cont" type="xs:integer" use="required"/>
<xs:attribute name="activeTab" type="xs:integer" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:anyAttribute processContents="skip"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="FindHistory">
<xs:complexType>
<xs:anyAttribute processContents="skip"/>
</xs:complexType>
</xs:element>
<xs:element name="History">
<xs:complexType>
<xs:attribute name="nbMaxFile" type="xs:integer" use="required"/>
<xs:attribute name="inSubMenu" type="xs:string" use="required"/>
<xs:attribute name="customLength" type="xs:integer" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="ProjectPanels">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="ProjectPanel">
<xs:complexType>
<xs:attribute name="id" type="xs:integer" use="required"/>
<xs:attribute name="workSpaceFile" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -1,27 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="NotepadPlus">
<xs:complexType>
<xs:sequence>
<xs:element name="ScintillaContextMenu">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Item">
<xs:complexType>
<xs:attribute name="MenuEntryName" type="xs:string" use="optional"/>
<xs:attribute name="MenuItemName" type="xs:string" use="optional"/>
<xs:attribute name="id" type="xs:unsignedShort" use="optional"/>
<xs:attribute name="FolderName" type="xs:string" use="optional"/>
<xs:attribute name="TranslateID" type="xs:string" use="optional"/>
<xs:attribute name="PluginEntryName" type="xs:string" use="optional"/>
<xs:attribute name="PluginCommandItemName" type="xs:string" use="optional"/>
<xs:attribute name="ItemNameAs" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -1,109 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="NotepadPlus">
<xs:complexType>
<xs:sequence>
<xs:element name="functionList">
<xs:complexType>
<xs:sequence>
<xs:element name="parser">
<xs:complexType>
<xs:sequence>
<xs:element name="classRange" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="className">
<xs:complexType>
<xs:sequence>
<xs:element name="nameExpr" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="expr" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="function" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="functionName">
<xs:complexType>
<xs:sequence>
<xs:element name="funcNameExpr" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="expr" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="mainExpr"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="mainExpr" use="required"/>
<xs:attribute type="xs:string" name="openSymbole" use="optional"/>
<xs:attribute type="xs:string" name="closeSymbole" use="optional"/>
<xs:attribute type="xs:string" name="displayMode" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="function" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="functionName" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="nameExpr" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="expr" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="className" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="nameExpr" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="expr" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="mainExpr"/>
<xs:attribute type="xs:string" name="displayMode" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="displayName"/>
<xs:attribute type="xs:string" name="id"/>
<xs:attribute type="xs:string" name="commentExpr"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -1,59 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="NotepadPlus">
<xs:complexType>
<xs:sequence>
<xs:element name="Languages">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Language">
<xs:complexType>
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="Keywords">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="name" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="instre1"/>
<xs:enumeration value="instre2"/>
<xs:enumeration value="type1"/>
<xs:enumeration value="type2"/>
<xs:enumeration value="type3"/>
<xs:enumeration value="type4"/>
<xs:enumeration value="type5"/>
<xs:enumeration value="type6"/>
<xs:enumeration value="type7"/>
<xs:enumeration value="substyle1"/>
<xs:enumeration value="substyle2"/>
<xs:enumeration value="substyle3"/>
<xs:enumeration value="substyle4"/>
<xs:enumeration value="substyle5"/>
<xs:enumeration value="substyle6"/>
<xs:enumeration value="substyle7"/>
<xs:enumeration value="substyle8"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="ext" type="xs:string" use="required"/>
<xs:attribute name="commentLine" type="xs:string" use="optional"/>
<xs:attribute name="commentStart" type="xs:string" use="optional"/>
<xs:attribute name="commentEnd" type="xs:string" use="optional"/>
<xs:attribute name="tabSettings" type="xs:integer" use="optional"/>
<xs:attribute name="backspaceUnindent" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -1,48 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="NotepadPlus">
<xs:complexType>
<xs:sequence>
<xs:element name="Native-Langue">
<xs:complexType>
<xs:all>
<xs:element name="Menu">
<xs:complexType>
<xs:all>
<xs:element name="Main" minOccurs="0" maxOccurs="1"/>
<xs:element name="Splitter" minOccurs="0" maxOccurs="1"/>
<xs:element name="TabBar" minOccurs="0" maxOccurs="1"/>
<xs:element name="TrayIcon" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="Dialog" minOccurs="0" maxOccurs="1"/>
<xs:element name="MessageBox" minOccurs="0" maxOccurs="1"/>
<xs:element name="ClipboardHistory" minOccurs="0" maxOccurs="1"/>
<xs:element name="DocList" minOccurs="0" maxOccurs="1"/>
<xs:element name="WindowsDlg" minOccurs="0" maxOccurs="1"/>
<xs:element name="AsciiInsertion" minOccurs="0" maxOccurs="1"/>
<xs:element name="DocumentMap" minOccurs="0" maxOccurs="1"/>
<xs:element name="FunctionList" minOccurs="0" maxOccurs="1"/>
<xs:element name="FolderAsWorkspace" minOccurs="0" maxOccurs="1"/>
<xs:element name="FileBrowser" minOccurs="0" maxOccurs="1"/>
<xs:element name="ProjectManager" minOccurs="0" maxOccurs="1"/>
<xs:element name="MiscStrings" minOccurs="0" maxOccurs="1"/>
</xs:all>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="filename" type="xs:string" use="required"/>
<xs:attribute name="version" type="xs:string" use="optional"/>
<xs:attribute name="RTL" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="yes"/>
<xs:enumeration value="no"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -1,57 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="NotepadPlus">
<xs:complexType>
<xs:sequence>
<xs:element name="InternalCommands"/>
<xs:element name="Macros">
<xs:complexType>
<xs:sequence>
<xs:element name="Macro">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Action">
<xs:complexType>
<xs:attribute name="type" type="xs:integer" use="required"/>
<xs:attribute name="message" type="xs:integer" use="required"/>
<xs:attribute name="wParam" type="xs:unsignedShort" use="required"/>
<xs:attribute name="lParam" type="xs:integer" use="required"/>
<xs:attribute name="sParam" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="Ctrl" type="xs:string" use="required"/>
<xs:attribute name="Alt" type="xs:string" use="required"/>
<xs:attribute name="Shift" type="xs:string" use="required"/>
<xs:attribute name="Key" type="xs:integer" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="UserDefinedCommands">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Command">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="Ctrl" type="xs:string" use="required"/>
<xs:attribute name="Alt" type="xs:string" use="required"/>
<xs:attribute name="Shift" type="xs:string" use="required"/>
<xs:attribute name="Key" type="xs:integer" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PluginCommands"/>
<xs:element name="ScintillaKeys"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -1,23 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="NotepadPlus">
<xs:complexType>
<xs:sequence>
<xs:element name="TabContextMenu">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Item">
<xs:complexType>
<xs:attribute name="MenuEntryName" type="xs:string" use="optional"/>
<xs:attribute name="MenuItemName" type="xs:string" use="optional"/>
<xs:attribute name="FolderName" type="xs:string" use="optional"/>
<xs:attribute name="id" type="xs:integer" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -1,102 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:simpleType name="emptyInt">
<!-- custom type: allows integer or empty string -->
<xs:union>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="0"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="xs:integer"/>
</xs:simpleType>
</xs:union>
</xs:simpleType>
<xs:element name="NotepadPlus">
<xs:complexType>
<xs:sequence>
<xs:element name="LexerStyles" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="LexerType" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="WordsStyle" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="name" use="required"/>
<xs:attribute type="xs:integer" name="styleID" use="required"/>
<xs:attribute type="xs:hexBinary" name="fgColor" use="optional"/>
<xs:attribute type="xs:hexBinary" name="bgColor" use="optional"/>
<xs:attribute type="xs:integer" name="colorStyle" use="optional"/>
<xs:attribute type="xs:string" name="fontName" use="optional"/>
<xs:attribute type="emptyInt" name="fontSize" use="optional"/>
<xs:attribute type="emptyInt" name="fontStyle" use="optional"/>
<xs:attribute name="keywordClass" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="instre1"/>
<xs:enumeration value="instre2"/>
<xs:enumeration value="type1"/>
<xs:enumeration value="type2"/>
<xs:enumeration value="type3"/>
<xs:enumeration value="type4"/>
<xs:enumeration value="type5"/>
<xs:enumeration value="type6"/>
<xs:enumeration value="type7"/>
<xs:enumeration value="substyle1"/>
<xs:enumeration value="substyle2"/>
<xs:enumeration value="substyle3"/>
<xs:enumeration value="substyle4"/>
<xs:enumeration value="substyle5"/>
<xs:enumeration value="substyle6"/>
<xs:enumeration value="substyle7"/>
<xs:enumeration value="substyle8"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="name" use="required"/>
<xs:attribute type="xs:string" name="desc" use="required"/>
<xs:attribute type="xs:string" name="ext" use="required"/>
</xs:complexType>
<xs:unique name="unique-WordsStyle-styleID">
<xs:selector xpath="WordsStyle"/>
<xs:field xpath="@styleID"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="GlobalStyles" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="WidgetStyle" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute type="xs:string" name="name" use="required"/>
<xs:attribute type="xs:integer" name="styleID" use="required"/>
<xs:attribute type="xs:hexBinary" name="fgColor" use="optional"/>
<xs:attribute type="xs:hexBinary" name="bgColor" use="optional"/>
<xs:attribute type="xs:integer" name="colorStyle" use="optional"/>
<xs:attribute type="xs:string" name="fontName" use="optional"/>
<xs:attribute type="emptyInt" name="fontSize" use="optional"/>
<xs:attribute type="emptyInt" name="fontStyle" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:unique name="unique-widgetstyle-name">
<xs:selector xpath="WidgetStyle"/>
<xs:field xpath="@name"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -1,48 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="NotepadPlus">
<xs:complexType>
<xs:sequence>
<xs:element name="ToolbarButtons">
<xs:complexType>
<xs:sequence>
<xs:element name="Standard">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="Button">
<xs:complexType>
<xs:attribute name="hide" type="xs:string" use="required"/>
<xs:attribute name="index" type="xs:integer" use="required"/>
<xs:attribute name="id" type="xs:unsignedShort" use="required"/>
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="hideAll" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="Plugin">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Button">
<xs:complexType>
<xs:attribute name="hide" type="xs:string" use="required"/>
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="hideAll" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ToolBarIcons">
<xs:complexType>
<xs:attribute name="icoFolderName" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -30,7 +30,15 @@ def post_error(message):
pprint(message)
def parse_xml_file(filename_xml, filename_xsd = None):
def parse_xml_file(filename_xml):
# open and read schema file
#with open(filename_xsd, 'r') as schema_file:
#schema_to_check = schema_file.read()
# open and read xml file
#with open(filename_xml, 'r') as xml_file:
# xml_to_check = xml_file.read()
# parse xml
try:
@ -41,128 +49,58 @@ def parse_xml_file(filename_xml, filename_xsd = None):
except IOError:
#print('Invalid File')
post_error(f'{filename_xml}: IOError Invalid File')
return
# check for XML syntax errors
except etree.XMLSyntaxError as err:
#print('XML Syntax Error, see error_syntax.log')
post_error(f'{filename_xml}: {str(err.error_log)}: XMLSyntaxError Invalid File')
return
# check for general XML errors
except etree.LxmlError as err:
#print('XML Error, see error_syntax.log')
post_error(f'{filename_xml}: {str(err.error_log)}: LxmlError Invalid File')
return
# unknown error
except:
#print('Unknown error.')
post_error(f'{filename_xml}: Unknown error. Maybe check that no xml version is in the first line.')
return
# now validate against correct schema
if doc and filename_xsd is not None:
try:
xmlschema_doc = etree.parse(filename_xsd)
# error reading XSD
except IOError:
post_error(f'{filename_xml} | {filename_xsd}: IOError Invalid File')
return
# error parsing XSD
except etree.XMLSyntaxError as err:
post_error(f'{filename_xml} | {filename_xsd}: {str(err.error_log)}: XMLSyntaxError Invalid File')
return
# other error
except Exception as err:
post_error(f'{filename_xml} | {filename_xsd}: Unknown error {str(err.error_log)} reading Schema .xsd file.')
return
# Next, extract the schema object from the schema_doc
try:
xmlschema = etree.XMLSchema(xmlschema_doc)
#print(f'{filename_xml} | {filename_xsd}: SCHEMA OBJECT OK')
# error with Schema
except etree.XMLSchemaError as err:
post_error(f'{filename_xml} | {filename_xsd}: {str(err.error_log)}: XMLSchemaError')
return
# other error
except Exception as err:
post_error(f'{filename_xml} | {filename_xsd}: Unknown error {str(err.error_log)} obtaining schema object')
return
# finally, validate the XML against the schema
if not xmlschema.validate(doc):
post_error(f'{filename_xml} | {filename_xsd}: Validation error {str(xmlschema.error_log)}')
return
else:
#print(f'{filename_xml} vs schema: VALIDATION OK')
pass
def parse_xml_files_from_APIs_dir():
for file in os.listdir("PowerEditor/installer/APIs"):
if file.endswith(".xml"):
#print(os.path.join("PowerEditor/installer/APIs", file))
parse_xml_file(os.path.join("PowerEditor/installer/APIs", file), os.path.join("PowerEditor", "Test", "xmlValidator", "autoCompletion.xsd"))
parse_xml_file(os.path.join("PowerEditor/installer/APIs", file))
def parse_xml_files_from_functionList_dir():
for file in os.listdir("PowerEditor/installer/functionList"):
if file.endswith(".xml"):
#print(os.path.join("PowerEditor/installer/functionList", file))
xsd_filename = None
if not file.endswith("overrideMap.xml"):
xsd_filename = os.path.join("PowerEditor", "Test", "xmlValidator", "functionList.xsd")
parse_xml_file(os.path.join("PowerEditor/installer/functionList", file), xsd_filename)
parse_xml_file(os.path.join("PowerEditor/installer/functionList", file))
def parse_xml_files_from_nativeLang_dir():
for file in os.listdir("PowerEditor/installer/nativeLang"):
if file.endswith(".xml"):
#print(os.path.join("PowerEditor/installer/nativeLang", file))
parse_xml_file(os.path.join("PowerEditor/installer/nativeLang", file), os.path.join("PowerEditor", "Test", "xmlValidator", "nativeLang.xsd"))
parse_xml_file(os.path.join("PowerEditor/installer/nativeLang", file))
def parse_xml_files_from_themes_dir():
for file in os.listdir("PowerEditor/installer/themes"):
if file.endswith(".xml"):
#print(os.path.join("PowerEditor/installer/themes", file))
parse_xml_file(os.path.join("PowerEditor/installer/themes", file), os.path.join("PowerEditor", "Test", "xmlValidator", "theme.xsd"))
parse_xml_file(os.path.join("PowerEditor/installer/themes", file))
def parse_xml_files_from_src_dir():
for file in os.listdir("PowerEditor/src"):
if file.endswith(".xml"):
#print(os.path.join("PowerEditor/src", file))
xsd_filename = None
if file.endswith("stylers.model.xml"):
xsd_filename = os.path.join("PowerEditor", "Test", "xmlValidator", "theme.xsd")
elif file.endswith("langs.model.xml"):
xsd_filename = os.path.join("PowerEditor", "Test", "xmlValidator", "langs.xsd")
elif file.endswith("toolbarButtonsConf_example.xml"):
xsd_filename = os.path.join("PowerEditor", "Test", "xmlValidator", "toolbarButtons.xsd")
elif file.endswith("tabContextMenu_example.xml"):
xsd_filename = os.path.join("PowerEditor", "Test", "xmlValidator", "tabContext.xsd")
elif file.endswith("contextMenu.xml"):
xsd_filename = os.path.join("PowerEditor", "Test", "xmlValidator", "contextMenu.xsd")
elif file.endswith("shortcuts.xml"):
xsd_filename = os.path.join("PowerEditor", "Test", "xmlValidator", "shortcuts.xsd")
elif file.endswith("config.4zipPackage.xml"):
xsd_filename = os.path.join("PowerEditor", "Test", "xmlValidator", "config.xsd")
parse_xml_file(os.path.join("PowerEditor/src", file), xsd_filename)
parse_xml_file(os.path.join("PowerEditor/src", file))
print('Start syntax check and validation for XML files.')
print('Start syntax check for xml files.')
parse_xml_files_from_APIs_dir()
parse_xml_files_from_functionList_dir()
parse_xml_files_from_nativeLang_dir()

Binary file not shown.

Binary file not shown.

View File

@ -1,34 +1,37 @@
Notepad++ v8.8.5 regression-fix:
Notepad++ v8.1.7 bug-fixes:
1. Fix "Edit with Notepad++" context menu not being installed correctly regression.
Notepad++ v8.8.4 vulnerability-fixes, bug-fixes & new enhancement:
1. Fix -notabbar & asNotepad.xml stop hiding tabbar regression (from v8.7.9).
2. Fix "Edit with Notepad++" not removed by uninstaller regression (from v8.8.3).
3. Fix possible heap memory leak.
4. Increase search input length from 2046 to 16383.
5. Add warning tip for the max length on search input (Find/Replace).
6. Fix JavaScript listed twice in Language & Indent settings of Preferences issue.
7. Fix external lexers showing several time in Indent settings issue.
8. Add button to insert variables in the run dialog.
9. Enhance "Go to settings": guide users to the related setting explicitly.
10. Add a clear button for filter field in Shortcut Mapper.
11. Make NFO font overridable by adding font name in Lexer "nfo" of stylers.xml.
1. Fix empty file not being saved regression.
2. Fix white flash in dark mode on CMD launch with position parameters.
3. Enhance dark themes for some programming languages (JSON, Python & Makefile).
4. Fix "Run macro until the end of file" command skipping the last line issue.
5. Fix tooltip layout and position in RTL mode.
6. Fix docking problem for dockable panel in RTL mode.
Get more info on
https://notepad-plus-plus.org/downloads/v8.8.5/
Notepad++ v8.1.6 bug-fixes:
1. Fix NUL file-corruption issue after system shutting down brutally (power cuts).
2. Fix session lost issue after MS update restarting Windows.
3. Make Markdown UDL work in every dark theme.
4. Fix file can be marked as saved even it's been deleted outside.
5. Fix white flash on Notepad++ startup in dark mode issue.
6. Fix status bar text display glitchy in dark mode.
7. Fix docked window sizing problem in RTL mode.
8. Fix floating panel movement problem in RTL mode.
9. Fix Print GUI bug in Preferences dialog.
More fixes & implementations detail:
https://notepad-plus-plus.org/downloads/v8.1.7/
Included plugins:
1. NppExport v0.4
2. Converter v4.6
3. Mime Tool v3.1
1. NppExport v0.3
2. Converter v4.3
3. Mime Tool v2.6
Updater (Installer only):
* WinGUp (for Notepad++) v5.3.3
* WinGup (for Notepad++) v5.2.1

View File

@ -1,10 +1,14 @@
// this file contains fixes needed for Notepad++ to be built by GCC
// the makefile automatically includes this file
static constexpr unsigned int max(unsigned int a, unsigned int b) {
return a > b ? a : b;
}
static constexpr unsigned int min(unsigned int a, unsigned int b) {
return a < b ? a : b;
}
// __try and __except are unknown to GCC, so convert them to something eligible
#define __try try
#define __except(x) catch(...)
#ifndef PROCESSOR_ARCHITECTURE_ARM64
#define PROCESSOR_ARCHITECTURE_ARM64 12
#endif

View File

@ -26,76 +26,44 @@ BIN_DIRECTORY := ../bin
INSTALLER_DIRECTORY := ../installer
TARGET_BINARY := notepad++.exe
SRC_DATA := contextMenu.xml langs.model.xml shortcuts.xml stylers.model.xml tabContextMenu_example.xml toolbarButtonsConf_example.xml
BIN_DATA := change.log doLocalConf.xml nppLogNulContentCorruptionIssue.xml readme.txt userDefineLangs/
SRC_DATA := contextMenu.xml langs.model.xml shortcuts.xml stylers.model.xml
BIN_DATA := change.log doLocalConf.xml readme.txt userDefineLangs/
INSTALLER_DATA := autoCompletion/ functionList/ localization/ themes/
SCINTILLA_DIRECTORY := ../../scintilla
SCINTILLA_TARGET := libscintilla.a
SCINTILLA_TARGET := libscilexer.a
LEXILLA_DIRECTORY := ../../lexilla
LEXILLA_TARGET := liblexilla.a
ifeq ($(CXX),clang++)
CXX := $(CROSS_COMPILE)clang++
else
CXX := $(CROSS_COMPILE)g++
endif
CXXFLAGS := -include $(GCC_DIRECTORY)/gcc-fixes.h -std=c++20
CXX := $(CROSS_COMPILE)g++
CXXFLAGS := -include $(GCC_DIRECTORY)/gcc-fixes.h -std=c++17 -Wno-conversion-null
RC := $(CROSS_COMPILE)windres
RCFLAGS := --codepage=65001
CPP_PATH := $(SCINTILLA_DIRECTORY)/include $(LEXILLA_DIRECTORY)/include
CPP_DEFINE := UNICODE _UNICODE OEMRESOURCE NOMINMAX _WIN32_WINNT=_WIN32_WINNT_WIN7 NTDDI_VERSION=NTDDI_WIN7 TIXML_USE_STL TIXMLA_USE_STL
RCFLAGS :=
CPP_PATH := $(SCINTILLA_DIRECTORY)/include
CPP_DEFINE := UNICODE _UNICODE _WIN32_WINNT=0x0600 TIXML_USE_STL TIXMLA_USE_STL
LD := $(CXX)
LDFLAGS := -municode -mwindows
LD_PATH :=
LD_LINK := comctl32 crypt32 dbghelp ole32 sensapi shlwapi uuid uxtheme version wininet wintrust dwmapi
LD_LINK += $(patsubst lib%.a,%,$(SCINTILLA_TARGET)) $(patsubst lib%.a,%,$(LEXILLA_TARGET)) imm32 msimg32 ole32 oleaut32
LD_LINK := comctl32 crypt32 dbghelp ole32 sensapi shlwapi uuid uxtheme version wininet wintrust
LD_LINK += $(patsubst lib%.a,%,$(SCINTILLA_TARGET)) imm32 msimg32 ole32 oleaut32
SUBMAKEFLAGS := -O --no-print-directory
# detect a request for a debug build
ifeq "$(filter-out 0,$(DEBUG))" ""
BUILD_TYPE := release
BUILD_SUFFIX :=
CXXFLAGS += -O3 -Wconversion
CXXFLAGS += -O2 -Os
CPP_DEFINE += NDEBUG
LDFLAGS += -s
else
BUILD_TYPE := debug
BUILD_SUFFIX := -debug
CXXFLAGS += -Og -g -Wpedantic -Wall -Wextra -Wno-cast-function-type -Wno-overloaded-virtual -Wconversion
CPP_DEFINE += DEBUG
endif
ifeq ($(CXX),clang++)
CXXFLAGS += -Wimplicit-fallthrough \
-Wformat=2 \
-Wno-c++98-compat \
-Wno-c++98-compat-pedantic \
-Wno-reserved-id-macro \
-Wno-pragma-pack \
-Wno-unknown-pragmas \
-Wno-unused-command-line-argument \
-Wno-overloaded-virtual \
-Wno-sign-conversion \
-Wno-c99-extensions \
-Wno-deprecated-declarations
else ifeq ($(BUILD_TYPE),release)
CXXFLAGS += -Wno-alloc-size-larger-than
endif
ifneq "$(filter-out 0,$(CLANGANALYZE))" ""
CXXFLAGS += --analyze -Xanalyzer -analyzer-output=text
CXXFLAGS += -Og -g -Wall -Wpedantic -Wconversion-null
#CPP_DEFINE += DEBUG
endif
#
# preparations
#
# detect Windows directory
WIN_DIR := $(or $(windir),$(WINDIR))
# detect target CPU
TARGET_CPU := $(firstword $(subst -, ,$(shell $(CXX) -dumpmachine)))
ifeq "$(TARGET_CPU)" ""
@ -107,20 +75,15 @@ endif
ifeq "$(TARGET_CPU)" "i686"
# for some reason i686 versions of MinGW-w64 GCC don't include a linking library for SensApi.dll
# thus it is generated on the fly, but first check if the DLL is available
ifeq "$(wildcard $(WIN_DIR)/system32/SensApi.dll)" ""
ifeq "$(wildcard $(windir)/system32/SensApi.dll)" ""
$(error $(TARGET_CPU) build requires "%windir%/system32/SensApi.dll" to be present)
endif
# detect explicit definition of TARGET_CPU via command line to force a 32-bit build for MinGW-w64 with support multilib
# detect explicit definition of TARGET_CPU via command line to force a 32-bit build
ifeq "$(origin TARGET_CPU)" "command line"
export CXX += -m32
export LD += -m32
export RC += -Fpe-i386
endif
# detect explicit definition of TARGET_CPU via command line to force a 64-bit build for MinGW-w64 with support multilib
else ifneq "$(and $(findstring x86_64,$(TARGET_CPU)),$(findstring command line,$(origin TARGET_CPU)))" ""
export CXX += -m64
export LD += -m64
export RC += -Fpe-x86-64
endif
# define target and build directories and update dependent variables
@ -133,21 +96,10 @@ BIN_DATA := $(addprefix $(TARGET_DIRECTORY)/,$(BIN_DATA))
INSTALLER_DATA := $(addprefix $(TARGET_DIRECTORY)/,$(INSTALLER_DATA))
SCINTILLA_TARGET := $(BUILD_DIRECTORY)/$(SCINTILLA_TARGET)
SCINTILLA_TARGET_PATH := ../../PowerEditor/gcc/$(SCINTILLA_TARGET)
SCINTILLA_BUILD_DIRECTORY := $(BUILD_DIRECTORY)/_scintilla.build
SCINTILLA_BUILD_PATH := ../../PowerEditor/gcc/$(SCINTILLA_BUILD_DIRECTORY)
LEXILLA_TARGET := $(BUILD_DIRECTORY)/$(LEXILLA_TARGET)
LEXILLA_TARGET_PATH := ../../PowerEditor/gcc/$(LEXILLA_TARGET)
LEXILLA_BUILD_DIRECTORY := $(BUILD_DIRECTORY)/_lexilla.build
LEXILLA_BUILD_PATH := ../../PowerEditor/gcc/$(LEXILLA_BUILD_DIRECTORY)
LD_PATH += $(BUILD_DIRECTORY)
# detect a build outside of PowerEditor/gcc and update dependent variables
SPACES_ERROR := "For outside build spaces in the project path are not supported! Please move the project files to the correct path."
$(foreach makefile,$(MAKEFILE_LIST),$(if $(wildcard $(makefile)),,$(error $(SPACES_ERROR))))
MAKEFILE_DIRECTORY := $(patsubst %/,%,$(dir $(subst \,/,$(firstword $(MAKEFILE_LIST)))))
ifneq "$(MAKEFILE_DIRECTORY)" "."
MAKEFILE_PARENT := $(patsubst %/,%,$(dir $(MAKEFILE_DIRECTORY)))
@ -160,12 +112,6 @@ SRC_EXCLUDE := $(patsubst ../%,$(MAKEFILE_PARENT)/%,$(SRC_EXCLUDE))
INSTALLER_DIRECTORY := $(patsubst ../%,$(MAKEFILE_PARENT)/%,$(INSTALLER_DIRECTORY))
SCINTILLA_DIRECTORY := $(patsubst ../%,$(MAKEFILE_PARENT)/%,$(SCINTILLA_DIRECTORY))
SCINTILLA_TARGET_PATH := $(CURDIR)/$(SCINTILLA_TARGET)
SCINTILLA_BUILD_PATH := $(CURDIR)/$(SCINTILLA_BUILD_DIRECTORY)
LEXILLA_DIRECTORY := $(patsubst ../%,$(MAKEFILE_PARENT)/%,$(LEXILLA_DIRECTORY))
LEXILLA_TARGET_PATH := $(CURDIR)/$(LEXILLA_TARGET)
LEXILLA_BUILD_PATH := $(CURDIR)/$(LEXILLA_BUILD_DIRECTORY)
CXXFLAGS := $(patsubst ../%,$(MAKEFILE_PARENT)/%,$(CXXFLAGS))
CPP_PATH := $(patsubst ../%,$(MAKEFILE_PARENT)/%,$(CPP_PATH))
@ -177,26 +123,21 @@ AT := @
endif
# detect the current operating system
ifeq "$(WIN_DIR)" ""
ifeq "$(windir)" ""
# not a Windows system
MKDIR := mkdir -p
CPDIR := cp -r
RMDIR := rm -rf
CP := cp
RM := rm -f
PREBUILD_EVENT_CMD := cmd //C "cd PowerEditor/src && NppLibsVersionH-generator.bat"
normalize-path = $1
else ifneq "$(wildcard $(dir $(SHELL))ls.exe)" ""
# a Windows system with a proper shell
NULL :=
SPACE := $(NULL) $(NULL)
SHELL_DIRECTORY := $(subst |,$(SPACE),$(dir $(subst $(SPACE),|,$(SHELL))))
MKDIR := $(SHELL_DIRECTORY)mkdir.exe -p
CPDIR := $(SHELL_DIRECTORY)cp.exe -r
RMDIR := $(SHELL_DIRECTORY)rm.exe -rf
CP := $(SHELL_DIRECTORY)cp.exe
RM := $(SHELL_DIRECTORY)rm.exe -f
PREBUILD_EVENT_CMD := cmd //C "cd PowerEditor/src && NppLibsVersionH-generator.bat"
MKDIR := $(dir $(SHELL))mkdir.exe -p
CPDIR := $(dir $(SHELL))cp.exe -r
RMDIR := $(dir $(SHELL))rm.exe -rf
CP := $(dir $(SHELL))cp.exe
RM := $(dir $(SHELL))rm.exe -f
normalize-path = $1
else
# a standard Windows system
@ -205,7 +146,6 @@ CPDIR := xcopy /q /e /i /y
RMDIR := rmdir /q /s
CP := copy /y
RM := del /q
PREBUILD_EVENT_CMD := cd ..\src && NppLibsVersionH-generator.bat
normalize-path = $(subst /,\,$1)
endif
@ -228,83 +168,72 @@ RC_TARGETS := $(patsubst %.rc,$(BUILD_DIRECTORY)/%.res,$(sort $(filter %.rc,$(GC
# actions
#
.PHONY: .force all binary data clean sciclean lexclean fullclean
GOALS := $(addprefix $(MAKELEVEL)-,$(if $(MAKECMDGOALS),$(MAKECMDGOALS),all))
.PHONY: .force all binary data clean fullclean
.force:
ifneq "$(filter 0-all,$(GOALS))" ""
SUBMAKEFLAGS += $(if $(NUMBER_OF_PROCESSORS),-j$(NUMBER_OF_PROCESSORS),)
all: pre-build-event $(SCINTILLA_TARGET) $(LEXILLA_TARGET)
.NOTPARALLEL:
all: $(SCINTILLA_TARGET)
$(AT)$(MAKE) -f $(firstword $(MAKEFILE_LIST)) $(SUBMAKEFLAGS) binary
pre-build-event:
@echo Executing pre-build events...
$(AT)$(PREBUILD_EVENT_CMD)
$(BUILD_DIRECTORY):
@echo + creating BUILD_DIRECTORY $@
$(AT)$(MKDIR) $(call normalize-path,$(sort $@ $(patsubst %/,%,$(dir $(CXX_TARGETS) $(RC_TARGETS)))))
$(SCINTILLA_BUILD_DIRECTORY):
@echo + creating SCINTILLA_BUILD_DIRECTORY $@
$(AT)$(MKDIR) $(call normalize-path,$(SCINTILLA_BUILD_DIRECTORY))
$(LEXILLA_BUILD_DIRECTORY):
@echo + creating LEXILLA_BUILD_DIRECTORY $@
$(AT)$(MKDIR) $(call normalize-path,$(LEXILLA_BUILD_DIRECTORY))
ifeq "$(MAKELEVEL)" "0"
else
all: binary
endif
ifeq "$(filter 1-binary,$(GOALS))" ""
$(SCINTILLA_TARGET): .force
$(LEXILLA_TARGET): .force
endif
$(SCINTILLA_TARGET): | $(BUILD_DIRECTORY) $(SCINTILLA_BUILD_DIRECTORY)
$(AT)$(MAKE) $(SUBMAKEFLAGS) -C $(SCINTILLA_DIRECTORY)/win32 -f makefile -f ../../boostregex/nppSpecifics_mingw.mak DIR_O=$(SCINTILLA_BUILD_PATH) LIBSCI=$(SCINTILLA_TARGET_PATH) $(SCINTILLA_TARGET_PATH)
$(BUILD_DIRECTORY):
@echo * creating BUILD_DIRECTORY $@
$(AT)$(MKDIR) $(call normalize-path,$(sort $@ $(patsubst %/,%,$(dir $(CXX_TARGETS) $(RC_TARGETS)))))
$(LEXILLA_TARGET): | $(BUILD_DIRECTORY) $(LEXILLA_BUILD_DIRECTORY)
$(AT)$(MAKE) $(SUBMAKEFLAGS) -C $(LEXILLA_DIRECTORY)/src DIR_O=$(LEXILLA_BUILD_PATH) LIBLEXILLA=$(LEXILLA_TARGET_PATH) $(LEXILLA_TARGET_PATH)
$(SCINTILLA_TARGET): | $(BUILD_DIRECTORY)
$(AT)$(MAKE) $(SUBMAKEFLAGS) -C $(SCINTILLA_DIRECTORY)/win32 LIBLEX=$(CURDIR)/$(SCINTILLA_TARGET) $(CURDIR)/$(SCINTILLA_TARGET)
binary: $(TARGET_BINARY) data
@echo +++ $(TARGET_CPU) $(BUILD_TYPE) : $(CURDIR)/$(TARGET_BINARY) +++
@echo *** $(TARGET_CPU) $(BUILD_TYPE) : $(CURDIR)/$(TARGET_BINARY) ***
$(CXX_TARGETS): $(BUILD_DIRECTORY)/%.o: %.cpp | $(BUILD_DIRECTORY)
@echo + compiling $<
@echo * compiling $<
$(AT)$(CXX) $(CXXFLAGS) $(addprefix -I,$(CPP_PATH)) $(addprefix -D,$(CPP_DEFINE)) -MMD -c -o $@ $<
$(RC_TARGETS): $(BUILD_DIRECTORY)/%.res: %.rc | $(BUILD_DIRECTORY)
@echo + compiling $<
@echo * compiling $<
$(AT)$(RC) $(RCFLAGS) $(addprefix -I,$(CPP_PATH)) $(addprefix -D,$(CPP_DEFINE)) -O coff -o $@ -i $<
ifeq "$(TARGET_CPU)" "i686"
$(TARGET_BINARY): $(BUILD_DIRECTORY)/libsensapi.a
$(BUILD_DIRECTORY)/libsensapi.a: | $(BUILD_DIRECTORY)
@echo + generating $@
$(AT)gendef $(call normalize-path,$(firstword $(wildcard $(WIN_DIR)/syswow64/SensApi.dll $(WIN_DIR)/system32/SensApi.dll)))
@echo * generating $@
$(AT)gendef $(call normalize-path,$(firstword $(wildcard $(windir)/syswow64/SensApi.dll $(windir)/system32/SensApi.dll)))
$(AT)dlltool -mi386 -f--32 -d SensApi.def -k -l $(call normalize-path,$@)
$(AT)$(RM) SensApi.def
endif
$(TARGET_DIRECTORY):
@echo + creating TARGET_DIRECTORY $@
@echo * creating TARGET_DIRECTORY $@
$(AT)$(MKDIR) $(call normalize-path,$@)
$(TARGET_BINARY): $(CXX_TARGETS) $(RC_TARGETS) $(SCINTILLA_TARGET) $(LEXILLA_TARGET) | $(TARGET_DIRECTORY)
@echo + linking $@
$(TARGET_BINARY): $(CXX_TARGETS) $(RC_TARGETS) $(SCINTILLA_TARGET) | $(TARGET_DIRECTORY)
@echo * linking $@
$(AT)$(LD) $(LDFLAGS) $(filter-out %.a,$^) $(addprefix -L,$(LD_PATH)) $(addprefix -l,$(LD_LINK)) -static -o $@
data: $(patsubst %/,%,$(SRC_DATA) $(BIN_DATA) $(INSTALLER_DATA))
$(patsubst %/,%,$(filter %/,$(SRC_DATA))): $(TARGET_DIRECTORY)/%: $(SRC_DIRECTORY)/% | $(TARGET_DIRECTORY)
@echo + copying $@
@echo * copying $@
$(AT)$(CPDIR) $(call normalize-path,$< $@)
$(filter-out %/,$(SRC_DATA)): $(TARGET_DIRECTORY)/%: $(SRC_DIRECTORY)/% | $(TARGET_DIRECTORY)
@echo + copying $@
@echo * copying $@
$(AT)$(CP) $(call normalize-path,$< $@)
$(patsubst %/,%,$(filter %/,$(BIN_DATA))): $(TARGET_DIRECTORY)/%: $(BIN_DIRECTORY)/% | $(TARGET_DIRECTORY)
@echo + copying $@
@echo * copying $@
$(AT)$(CPDIR) $(call normalize-path,$< $@)
$(filter-out %/,$(BIN_DATA)): $(TARGET_DIRECTORY)/%: $(BIN_DIRECTORY)/% | $(TARGET_DIRECTORY)
@echo + copying $@
@echo * copying $@
$(AT)$(CP) $(call normalize-path,$< $@)
$(TARGET_DIRECTORY)/autoCompletion: $(INSTALLER_DIRECTORY)/APIs
@ -312,20 +241,15 @@ $(TARGET_DIRECTORY)/functionList: $(INSTALLER_DIRECTORY)/functionList
$(TARGET_DIRECTORY)/localization: $(INSTALLER_DIRECTORY)/nativeLang
$(TARGET_DIRECTORY)/themes: $(INSTALLER_DIRECTORY)/themes
$(patsubst %/,%,$(filter %/,$(INSTALLER_DATA))): | $(TARGET_DIRECTORY)
@echo + copying $@
@echo * copying $@
$(AT)$(CPDIR) $(call normalize-path,$< $@)
$(filter-out %/,$(INSTALLER_DATA)): | $(TARGET_DIRECTORY)
@echo + copying $@
@echo * copying $@
$(AT)$(CP) $(call normalize-path,$< $@)
clean:
-$(AT)$(RMDIR) $(call normalize-path,$(BUILD_DIRECTORY))
sciclean:
-$(AT)$(RMDIR) $(call normalize-path,$(SCINTILLA_BUILD_DIRECTORY))
lexclean:
-$(AT)$(RMDIR) $(call normalize-path,$(LEXILLA_BUILD_DIRECTORY))
-$(AT)$(MAKE) $(SUBMAKEFLAGS) -C $(SCINTILLA_DIRECTORY)/win32 $@
fullclean: clean
-$(AT)$(RMDIR) $(call normalize-path,$(TARGET_DIRECTORY))

View File

@ -24,7 +24,6 @@
<KeyWord name="appendChild" />
<KeyWord name="apply" />
<KeyWord name="arguments" />
<KeyWord name="ArgumentError" />
<KeyWord name="arguments.callee" />
<KeyWord name="arguments.caller" />
<KeyWord name="Array" />
@ -70,7 +69,6 @@
<KeyWord name="charCodeAt" />
<KeyWord name="childNodes" />
<KeyWord name="chr" />
<KeyWord name="Class" />
<KeyWord name="clear" />
<KeyWord name="clearInterval" />
<KeyWord name="cloneNode" />
@ -100,10 +98,7 @@
<KeyWord name="Date" />
<KeyWord name="Date.UTC" />
<KeyWord name="decode" />
<KeyWord name="decodeURI" />
<KeyWord name="decodeURIComponent" />
<KeyWord name="default" />
<KeyWord name="DefinitionError" />
<KeyWord name="delete" />
<KeyWord name="DELETEKEY" />
<KeyWord name="do" />
@ -117,18 +112,14 @@
<KeyWord name="else" />
<KeyWord name="embedFonts" />
<KeyWord name="enabled" />
<KeyWord name="encodeURI" />
<KeyWord name="encodeURIComponent" />
<KeyWord name="END" />
<KeyWord name="endFill" />
<KeyWord name="ENTER" />
<KeyWord name="enterFrame" />
<KeyWord name="eq" />
<KeyWord name="Error" />
<KeyWord name="escape" />
<KeyWord name="ESCAPE" />
<KeyWord name="eval" />
<KeyWord name="EvalError" />
<KeyWord name="evaluate" />
<KeyWord name="exp" />
<KeyWord name="false" />
@ -142,7 +133,6 @@
<KeyWord name="fscommand" />
<KeyWord name="FStyleFormat" />
<KeyWord name="function" />
<KeyWord name="Function" />
<KeyWord name="ge" />
<KeyWord name="get" />
<KeyWord name="getAscii" />
@ -233,10 +223,9 @@
<KeyWord name="isPropertyEnumerable" />
<KeyWord name="isPrototypeOf" />
<KeyWord name="isToggled" />
<KeyWord name="isXMLName" />
<KeyWord name="italic" />
<KeyWord name="john@3wgraphics.net" />
<KeyWord name="join" />
<KeyWord name="JSON" />
<KeyWord name="Key" />
<KeyWord name="Key.ALT" />
<KeyWord name="Key.BACKSPACE" />
@ -343,7 +332,6 @@
<KeyWord name="moveTo" />
<KeyWord name="MovieClip" />
<KeyWord name="multiline" />
<KeyWord name="Namespace" />
<KeyWord name="NaN" />
<KeyWord name="ne" />
<KeyWord name="NEGATIVE_INFINITY" />
@ -425,13 +413,9 @@
<KeyWord name="prototype" />
<KeyWord name="publish" />
<KeyWord name="push" />
<KeyWord name="QName" />
<KeyWord name="random" />
<KeyWord name="RangeError" />
<KeyWord name="receiveAudio" />
<KeyWord name="receiveVideo" />
<KeyWord name="ReferenceError" />
<KeyWord name="RegExp" />
<KeyWord name="registerClass" />
<KeyWord name="release" />
<KeyWord name="releaseOutside" />
@ -456,7 +440,6 @@
<KeyWord name="scroll" />
<KeyWord name="scrollString" />
<KeyWord name="security" />
<KeyWord name="SecurityError" />
<KeyWord name="seek" />
<KeyWord name="selectable" />
<KeyWord name="Selection" />
@ -549,7 +532,6 @@
<KeyWord name="super" />
<KeyWord name="swapDepths" />
<KeyWord name="switch" />
<KeyWord name="SyntaxError" />
<KeyWord name="System" />
<KeyWord name="System.capabilities" />
<KeyWord name="System.capabilities.hasAccessibility" />
@ -595,9 +577,7 @@
<KeyWord name="trackAsMenu" />
<KeyWord name="true" />
<KeyWord name="type" />
<KeyWord name="TypeError" />
<KeyWord name="typeof" />
<KeyWord name="uint" />
<KeyWord name="undefined" />
<KeyWord name="underline" />
<KeyWord name="unescape" />
@ -609,15 +589,12 @@
<KeyWord name="unwatch" />
<KeyWord name="UP" />
<KeyWord name="updateAfterEvent" />
<KeyWord name="URIError" />
<KeyWord name="url" />
<KeyWord name="useHandCursor" />
<KeyWord name="UTC" />
<KeyWord name="valueOf" />
<KeyWord name="var" />
<KeyWord name="variable" />
<KeyWord name="Vector" />
<KeyWord name="VerifyError" />
<KeyWord name="version" />
<KeyWord name="Video" />
<KeyWord name="void" />
@ -628,7 +605,6 @@
<KeyWord name="wordWrap" />
<KeyWord name="XML" />
<KeyWord name="xmlDecl" />
<KeyWord name="XMLList" />
<KeyWord name="XMLNode" />
<KeyWord name="XMLSocket" />
<KeyWord name="_alpha" />

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8" ?>
<NotepadPlus>
<Environment ignoreCase="yes" startFunc="(" stopFunc=")" paramSeparator="," additionalWordChar="-" />
<!-- note: this list was created using functions and reserved words known to GnuCOBOL (COBOL85,2002,2014 + extensions from IBM/MF/RM/ACUCOBOL) -->
<AutoComplete language="COBOL">
<Environment ignoreCase="yes" startFunc="(" stopFunc=")" paramSeparator="," additionalWordChar="-" />
<KeyWord name="3-D" />
<KeyWord name="ABS" func="yes">
<Overload retVal="Integer/Numeric" descr="absolute value of &lt;number&gt;">

View File

@ -16,7 +16,7 @@
<KeyWord name="else" />
<KeyWord name="extends" />
<KeyWord name="false" />
<KeyWord name="finally" />
<keyWord name="finally" />
<KeyWord name="for" />
<KeyWord name="if" />
<KeyWord name="in" />
@ -26,16 +26,16 @@
<KeyWord name="instanceof" />
<KeyWord name="loop" />
<KeyWord name="new" />
<KeyWord name="not" />
<keyWord name="not" />
<KeyWord name="null" />
<KeyWord name="NaN" />
<KeyWord name="of" />
<KeyWord name="or" />
<KeyWord name="on" />
<KeyWord name="no" />
<keyWord name="no" />
<KeyWord name="return" />
<KeyWord name="switch" />
<KeyWord name="super" />
<keyWord name="super" />
<KeyWord name="then" />
<KeyWord name="this" />
<KeyWord name="throw" />
@ -46,9 +46,9 @@
<KeyWord name="unless" />
<KeyWord name="when" />
<KeyWord name="while" />
<KeyWord name="yes" />
<keyWord name="yes" />
<KeyWord name="yield" />
<KeyWord name="=>" />
<KeyWord name="->" />
<keyWord name="=>" />
<keyWord name="->" />
</AutoComplete>
</NotepadPlus>

View File

@ -34,7 +34,6 @@
<KeyWord name="#line" />
<KeyWord name="#pragma" />
<KeyWord name="#undef" />
<KeyWord name="NULL" />
<KeyWord name="abort" func="yes">
<Overload retVal="void" >
<Param name="void" />
@ -64,14 +63,10 @@
<KeyWord name="adjacent_difference" />
<KeyWord name="adjacent_find" />
<KeyWord name="advance" />
<KeyWord name="alignas" />
<KeyWord name="alignof" />
<KeyWord name="allocate" />
<KeyWord name="allocator" />
<KeyWord name="allocmem" />
<KeyWord name="always_noconv" />
<KeyWord name="and" />
<KeyWord name="and_eq" />
<KeyWord name="any" />
<KeyWord name="append" />
<KeyWord name="arc" />
@ -128,9 +123,6 @@
<Param name="const char *nptr" />
</Overload>
</KeyWord>
<KeyWord name="atomic_cancel" />
<KeyWord name="atomic_commit" />
<KeyWord name="atomic_noexcept" />
<KeyWord name="auto" />
<KeyWord name="auto_ptr" />
<KeyWord name="back" />
@ -159,8 +151,6 @@
<KeyWord name="biosmemory" />
<KeyWord name="biosprint" />
<KeyWord name="biostime" />
<KeyWord name="bitand" />
<KeyWord name="bitor" />
<KeyWord name="bitset" />
<KeyWord name="bool" />
<KeyWord name="boolalpha" />
@ -196,9 +186,6 @@
<KeyWord name="cerr" />
<KeyWord name="cgets" />
<KeyWord name="char" />
<KeyWord name="char16_t" />
<KeyWord name="char32_t" />
<KeyWord name="char8_t" />
<KeyWord name="char_type" />
<KeyWord name="chdir" func="yes">
<Overload retVal="int" >
@ -229,7 +216,6 @@
<Param name="void" />
</Overload>
</KeyWord>
<KeyWord name="clock_t" />
<KeyWord name="clog" />
<KeyWord name="close" func="yes">
<Overload retVal="int" >
@ -244,22 +230,14 @@
<KeyWord name="closegraph" />
<KeyWord name="clreol" />
<KeyWord name="clrscr" />
<KeyWord name="co_await" />
<KeyWord name="co_return" />
<KeyWord name="co_yield" />
<KeyWord name="compare" />
<KeyWord name="compl" />
<KeyWord name="complex" />
<KeyWord name="concept" />
<KeyWord name="conj" />
<KeyWord name="const" />
<KeyWord name="construct" />
<KeyWord name="const_cast" />
<KeyWord name="const_pointer" />
<KeyWord name="const_reference" />
<KeyWord name="consteval" />
<KeyWord name="constexpr" />
<KeyWord name="constinit" />
<KeyWord name="container" />
<KeyWord name="continue" />
<KeyWord name="copy" />
@ -306,7 +284,6 @@
<KeyWord name="deallocate" />
<KeyWord name="dec" />
<KeyWord name="decimal_point" />
<KeyWord name="decltype" />
<KeyWord name="default" />
<KeyWord name="delay" />
<KeyWord name="delete" />
@ -456,7 +433,6 @@
</KeyWord>
<KeyWord name="expl" />
<KeyWord name="explicit" />
<KeyWord name="export" />
<KeyWord name="extern" />
<KeyWord name="extern_type" />
<KeyWord name="fabs" func="yes">
@ -539,7 +515,6 @@
<KeyWord name="fillellipse" />
<KeyWord name="fillpoly" />
<KeyWord name="fill_n" />
<KeyWord name="final" />
<KeyWord name="find" />
<KeyWord name="findfirst" />
<KeyWord name="findnext" />
@ -827,26 +802,12 @@
<KeyWord name="installuserdriver" />
<KeyWord name="installuserfont" />
<KeyWord name="int" />
<KeyWord name="int16_t" />
<KeyWord name="int32_t" />
<KeyWord name="int64_t" />
<KeyWord name="int86" />
<KeyWord name="int86x" />
<KeyWord name="int8_t" />
<KeyWord name="int_fast16_t" />
<KeyWord name="int_fast32_t" />
<KeyWord name="int_fast64_t" />
<KeyWord name="int_fast8_t" />
<KeyWord name="int_least16_t" />
<KeyWord name="int_least32_t" />
<KeyWord name="int_least64_t" />
<KeyWord name="int_least8_t" />
<KeyWord name="intdos" />
<KeyWord name="intdosx" />
<KeyWord name="internal" />
<KeyWord name="intern_type" />
<KeyWord name="intmax_t" />
<KeyWord name="intptr_t" />
<KeyWord name="Intl" />
<KeyWord name="intr" />
<KeyWord name="int_type" />
@ -1127,7 +1088,6 @@
<KeyWord name="new" />
<KeyWord name="next_permutation" />
<KeyWord name="noboolalpha" />
<KeyWord name="noexcept" />
<KeyWord name="none" />
<KeyWord name="norm" />
<KeyWord name="normvideo" />
@ -1136,16 +1096,13 @@
<KeyWord name="noshowpos" />
<KeyWord name="noskipws" />
<KeyWord name="nosound" />
<KeyWord name="not" />
<KeyWord name="not1" />
<KeyWord name="not2" />
<KeyWord name="not_eof" />
<KeyWord name="not_eq" />
<KeyWord name="not_equal_to" />
<KeyWord name="nounitbuf" />
<KeyWord name="nouppercase" />
<KeyWord name="nth_element" />
<KeyWord name="nullptr" />
<KeyWord name="numeric_limits" />
<KeyWord name="oct" />
<KeyWord name="off_type" />
@ -1193,8 +1150,6 @@
<KeyWord name="operator^" />
<KeyWord name="operator^=" />
<KeyWord name="operator~" />
<KeyWord name="or" />
<KeyWord name="or_eq" />
<KeyWord name="ostream" />
<KeyWord name="ostream_type" />
<KeyWord name="ostringstream" />
@ -1207,7 +1162,6 @@
<KeyWord name="outtext" />
<KeyWord name="outtextxy" />
<KeyWord name="overflow" />
<KeyWord name="override" />
<KeyWord name="pair" />
<KeyWord name="parsfnm" />
<KeyWord name="partial_sort" />
@ -1264,7 +1218,6 @@
<KeyWord name="private" />
<KeyWord name="protected" />
<KeyWord name="ptr_fun" />
<KeyWord name="ptrdiff_t" />
<KeyWord name="pubimbue" />
<KeyWord name="public" />
<KeyWord name="pubseekoff" />
@ -1352,7 +1305,6 @@
</KeyWord>
<KeyWord name="rectangle" />
<KeyWord name="reference" />
<KeyWord name="reflexpr" />
<KeyWord name="register" />
<KeyWord name="registerbgidriver" />
<KeyWord name="registerbgifont" />
@ -1380,7 +1332,6 @@
<KeyWord name="replace_copy" />
<KeyWord name="replace_copy_if" />
<KeyWord name="replace_if" />
<KeyWord name="requires" />
<KeyWord name="reserve" />
<KeyWord name="reset" />
<KeyWord name="resetiosflag" />
@ -1535,7 +1486,6 @@
<KeyWord name="sinl" />
<KeyWord name="size" />
<KeyWord name="sizeof" />
<KeyWord name="size_t" />
<KeyWord name="size_type" />
<KeyWord name="skipws" />
<KeyWord name="sleep" func="yes">
@ -1585,7 +1535,6 @@
<Param name="..." />
</Overload>
</KeyWord>
<KeyWord name="ssize_t" />
<KeyWord name="stable_partition" />
<KeyWord name="stable_sort" />
<KeyWord name="stack" />
@ -1599,7 +1548,6 @@
<KeyWord name="state" />
<KeyWord name="state_type" />
<KeyWord name="static" />
<KeyWord name="static_assert" />
<KeyWord name="static_cast" />
<KeyWord name="stime" />
<KeyWord name="stpcpy" />
@ -1761,7 +1709,6 @@
<KeyWord name="switch" />
<KeyWord name="sync" />
<KeyWord name="sync_with_stdio" />
<KeyWord name="synchronized" />
<KeyWord name="system" func="yes">
<Overload retVal="int" >
<Param name="const char *string" />
@ -1796,7 +1743,6 @@
<KeyWord name="thousands_sep" />
<KeyWord name="thread" />
<KeyWord name="thread2" />
<KeyWord name="thread_local" />
<KeyWord name="throw" />
<KeyWord name="tie" />
<KeyWord name="time" func="yes">
@ -1804,7 +1750,6 @@
<Param name="time_t *timer" />
</Overload>
</KeyWord>
<KeyWord name="time_t" />
<KeyWord name="times" func="yes">
<Overload retVal="clock_t" >
<Param name="struct tms *buffer" />
@ -1853,20 +1798,6 @@
</Overload>
</KeyWord>
<KeyWord name="uflow" />
<KeyWord name="uint16_t" />
<KeyWord name="uint32_t" />
<KeyWord name="uint64_t" />
<KeyWord name="uint8_t" />
<KeyWord name="uint_fast16_t" />
<KeyWord name="uint_fast32_t" />
<KeyWord name="uint_fast64_t" />
<KeyWord name="uint_fast8_t" />
<KeyWord name="uint_least16_t" />
<KeyWord name="uint_least32_t" />
<KeyWord name="uint_least64_t" />
<KeyWord name="uint_least8_t" />
<KeyWord name="uintmax_t" />
<KeyWord name="uintptr_t" />
<KeyWord name="ultoa" />
<KeyWord name="umask" func="yes">
<Overload retVal="mode_t" >
@ -2005,8 +1936,6 @@
<KeyWord name="wstringbuf" />
<KeyWord name="wstringstream" />
<KeyWord name="xalloc" />
<KeyWord name="xor" />
<KeyWord name="xor_eq" />
<KeyWord name="xsgetn" />
<KeyWord name="xsputn" />
<KeyWord name="_atold" />

View File

@ -1016,7 +1016,6 @@
<KeyWord name="virtual" />
<KeyWord name="void" />
<KeyWord name="volatile" />
<KeyWord name="when" />
<KeyWord name="while" />
</AutoComplete>
</NotepadPlus>

View File

@ -22,29 +22,9 @@
<KeyWord name="@page" />
<KeyWord name="above" />
<KeyWord name="absolute" />
<KeyWord name="accent-color" />
<KeyWord name="ActiveBorder" />
<KeyWord name="ActiveCaption" />
<KeyWord name="additive-symbols" />
<KeyWord name="always" />
<KeyWord name="align-content" />
<KeyWord name="align-items" />
<KeyWord name="align-self" />
<KeyWord name="all" />
<KeyWord name="animation" />
<KeyWord name="animation-delay" />
<KeyWord name="animation-delay-end" />
<KeyWord name="animation-delay-start" />
<KeyWord name="animation-direction" />
<KeyWord name="animation-duration" />
<KeyWord name="animation-fill-mode" />
<KeyWord name="animation-iteration-count" />
<KeyWord name="animation-name" />
<KeyWord name="animation-play-state" />
<KeyWord name="animation-range" />
<KeyWord name="animation-range-end" />
<KeyWord name="animation-range-start" />
<KeyWord name="animation-timing-function" />
<KeyWord name="AppWorkspace" />
<KeyWord name="aqua" />
<KeyWord name="armenian" />
@ -53,68 +33,28 @@
<KeyWord name="avoid" />
<KeyWord name="azimuth" />
<KeyWord name="background" />
<KeyWord name="backdrop-filter" />
<KeyWord name="backface-visibility" />
<KeyWord name="background-attachment" />
<KeyWord name="background-blend-mode" />
<KeyWord name="background-clip" />
<KeyWord name="background-color" />
<KeyWord name="background-image" />
<KeyWord name="background-origin" />
<KeyWord name="background-position" />
<KeyWord name="background-position-x" />
<KeyWord name="background-position-y" />
<KeyWord name="background-repeat" />
<KeyWord name="background-size" />
<KeyWord name="baseline" />
<KeyWord name="behind" />
<KeyWord name="below" />
<KeyWord name="bidi-override" />
<KeyWord name="black" />
<KeyWord name="bleed" />
<KeyWord name="blink" />
<KeyWord name="block" />
<KeyWord name="block-size" />
<KeyWord name="blue" />
<KeyWord name="bold" />
<KeyWord name="bolder" />
<KeyWord name="border" />
<KeyWord name="border-block-end" />
<KeyWord name="border-block-end-color" />
<KeyWord name="border-block-end-style" />
<KeyWord name="border-block-end-width" />
<KeyWord name="border-block-start" />
<KeyWord name="border-block-start-color" />
<KeyWord name="border-block-start-style" />
<KeyWord name="border-block-start-width" />
<KeyWord name="border-bottom" />
<KeyWord name="border-bottom-color" />
<KeyWord name="border-bottom-left-radius" />
<KeyWord name="border-bottom-right-radius" />
<KeyWord name="border-bottom-style" />
<KeyWord name="border-bottom-width" />
<KeyWord name="border-collapse" />
<KeyWord name="border-color" />
<KeyWord name="border-end-end-radius" />
<KeyWord name="border-end-start-radius" />
<KeyWord name="border-image" />
<KeyWord name="border-image-outset" />
<KeyWord name="border-image-repeat" />
<KeyWord name="border-image-slice" />
<KeyWord name="border-image-source" />
<KeyWord name="border-image-width" />
<KeyWord name="border-inline" />
<KeyWord name="border-inline-color" />
<KeyWord name="border-inline-end" />
<KeyWord name="border-inline-end-color" />
<KeyWord name="border-inline-end-style" />
<KeyWord name="border-inline-end-width" />
<KeyWord name="border-inline-start" />
<KeyWord name="border-inline-start-color" />
<KeyWord name="border-inline-start-style" />
<KeyWord name="border-inline-start-width" />
<KeyWord name="border-inline-style" />
<KeyWord name="border-inline-width" />
<KeyWord name="border-left" />
<KeyWord name="border-left-color" />
<KeyWord name="border-left-style" />
@ -124,24 +64,14 @@
<KeyWord name="border-right-style" />
<KeyWord name="border-right-width" />
<KeyWord name="border-spacing" />
<KeyWord name="border-start-end-radius" />
<KeyWord name="border-start-start-radius" />
<KeyWord name="border-style" />
<KeyWord name="border-top" />
<KeyWord name="border-top-color" />
<KeyWord name="border-top-left-radius" />
<KeyWord name="border-top-right-radius" />
<KeyWord name="border-top-style" />
<KeyWord name="border-top-width" />
<KeyWord name="border-width" />
<KeyWord name="both" />
<KeyWord name="bottom" />
<KeyWord name="box-decoration-break" />
<KeyWord name="box-shadow" />
<KeyWord name="box-sizing" />
<KeyWord name="break-after" />
<KeyWord name="break-before" />
<KeyWord name="break-inside" />
<KeyWord name="ButtonFace" />
<KeyWord name="ButtonHighlight" />
<KeyWord name="ButtonShadow" />
@ -149,7 +79,6 @@
<KeyWord name="capitalize" />
<KeyWord name="caption" />
<KeyWord name="caption-side" />
<KeyWord name="caret-color" />
<KeyWord name="CaptionText" />
<KeyWord name="center" />
<KeyWord name="center-left" />
@ -158,29 +87,10 @@
<KeyWord name="cjk-ideographic" />
<KeyWord name="clear" />
<KeyWord name="clip" />
<KeyWord name="clip-path" />
<KeyWord name="clip-rule" />
<KeyWord name="close-quote" />
<KeyWord name="code" />
<KeyWord name="collapse" />
<KeyWord name="color" />
<KeyWord name="color-adjust" />
<KeyWord name="color-interpolation-filters" />
<KeyWord name="color-scheme" />
<KeyWord name="column-count" />
<KeyWord name="column-fill" />
<KeyWord name="column-gap" />
<KeyWord name="column-rule" />
<KeyWord name="column-rule-color" />
<KeyWord name="column-rule-style" />
<KeyWord name="column-rule-width" />
<KeyWord name="column-span" />
<KeyWord name="column-width" />
<KeyWord name="columns" />
<KeyWord name="contain" />
<KeyWord name="container" />
<KeyWord name="container-name" />
<KeyWord name="container-type" />
<KeyWord name="compact" />
<KeyWord name="condensed" />
<KeyWord name="content" />
@ -207,80 +117,30 @@
<KeyWord name="em" />
<KeyWord name="embed" />
<KeyWord name="empty-cells" />
<KeyWord name="enable-background" />
<KeyWord name="ex" />
<KeyWord name="expanded" />
<KeyWord name="extra-condensed" />
<KeyWord name="extra-expanded" />
<KeyWord name="fallback" />
<KeyWord name="far-left" />
<KeyWord name="far-right" />
<KeyWord name="fast" />
<KeyWord name="faster" />
<KeyWord name="fill" />
<KeyWord name="fill-opacity" />
<KeyWord name="fill-rule" />
<KeyWord name="filter" />
<KeyWord name="fixed" />
<KeyWord name="flex" />
<KeyWord name="flex-basis" />
<KeyWord name="flex-direction" />
<KeyWord name="flex-flow" />
<KeyWord name="flex-grow" />
<KeyWord name="flex-shrink" />
<KeyWord name="flex-wrap" />
<KeyWord name="float" />
<KeyWord name="flood-color" />
<KeyWord name="flood-opacity" />
<KeyWord name="font" />
<KeyWord name="font-display" />
<KeyWord name="font-family" />
<KeyWord name="font-feature-settings" />
<KeyWord name="font-kerning" />
<KeyWord name="font-language-override" />
<KeyWord name="font-optical-sizing" />
<KeyWord name="font-size" />
<KeyWord name="font-size-adjust" />
<KeyWord name="font-stretch" />
<KeyWord name="font-style" />
<KeyWord name="font-synthesis" />
<KeyWord name="font-variant" />
<KeyWord name="font-variant-alternates" />
<KeyWord name="font-variant-caps" />
<KeyWord name="font-variant-east-asian" />
<KeyWord name="font-variant-ligatures" />
<KeyWord name="font-variant-numeric" />
<KeyWord name="font-variant-position" />
<KeyWord name="font-variation-settings" />
<KeyWord name="font-weight" />
<KeyWord name="fuchsia" />
<KeyWord name="gap" />
<KeyWord name="georgian" />
<KeyWord name="grad" />
<KeyWord name="gray" />
<KeyWord name="GrayText" />
<KeyWord name="green" />
<KeyWord name="glyph-orientation-horizontal" />
<KeyWord name="glyph-orientation-vertical" />
<KeyWord name="grid" />
<KeyWord name="grid-area" />
<KeyWord name="grid-auto-columns" />
<KeyWord name="grid-auto-flow" />
<KeyWord name="grid-auto-rows" />
<KeyWord name="grid-column" />
<KeyWord name="grid-column-end" />
<KeyWord name="grid-column-gap" />
<KeyWord name="grid-column-start" />
<KeyWord name="grid-gap" />
<KeyWord name="grid-row" />
<KeyWord name="grid-row-end" />
<KeyWord name="grid-row-gap" />
<KeyWord name="grid-row-start" />
<KeyWord name="grid-template" />
<KeyWord name="grid-template-areas" />
<KeyWord name="grid-template-columns" />
<KeyWord name="grid-template-rows" />
<KeyWord name="hanging-punctuation" />
<KeyWord name="hebrew" />
<KeyWord name="height" />
<KeyWord name="help" />
@ -292,7 +152,6 @@
<KeyWord name="HighlightText" />
<KeyWord name="hiragana" />
<KeyWord name="hiragana-iroha" />
<KeyWord name="hyphens" />
<KeyWord name="hz" />
<KeyWord name="icon" />
<KeyWord name="InactiveBorder" />
@ -500,4 +359,4 @@
<KeyWord name="yellow" />
<KeyWord name="z-index" />
</AutoComplete>
</NotepadPlus>
</NotepadPlus>

File diff suppressed because it is too large Load Diff

View File

@ -1,145 +0,0 @@
<NotepadPlus>
<AutoComplete language="Go">
<KeyWord name="_" />
<KeyWord name="false" />
<KeyWord name="iota" />
<KeyWord name="nil" />
<KeyWord name="true" />
<KeyWord name="break" />
<KeyWord name="case" />
<KeyWord name="continue" />
<KeyWord name="default" />
<KeyWord name="defer" />
<KeyWord name="else" />
<KeyWord name="fallthrough" />
<KeyWord name="for" />
<KeyWord name="go" />
<KeyWord name="goto" />
<KeyWord name="if" />
<KeyWord name="import" />
<KeyWord name="range" />
<KeyWord name="return" />
<KeyWord name="select" />
<KeyWord name="switch" />
<KeyWord name="append" func="yes">
<Overload retVal="[]Type" >
<Param name="slice []Type" />
<Param name="elems ...Type" />
</Overload>
</KeyWord>
<KeyWord name="cap" func="yes">
<Overload retVal="int" >
<Param name="v Type" />
</Overload>
</KeyWord>
<KeyWord name="clear" func="yes">
<Overload retVal="~[]Type" >
<Param name="t T" />
</Overload>
</KeyWord>
<KeyWord name="close" func="yes">
<Overload retVal="" >
<Param name="c chan&lt;- Type" />
</Overload>
</KeyWord>
<KeyWord name="complex" func="yes">
<Overload retVal="ComplexType" >
<Param name="r" />
<Param name="i FloatType" />
</Overload>
</KeyWord>
<KeyWord name="copy" func="yes">
<Overload retVal="int" >
<Param name="dst" />
<Param name="src []Type" />
</Overload>
</KeyWord>
<KeyWord name="delete" func="yes">
<Overload retVal="" >
<Param name="m map[Type]Type1" />
<Param name="key Type" />
</Overload>
</KeyWord>
<KeyWord name="imag" func="yes">
<Overload retVal="FloatType" >
<Param name="c ComplexType" />
</Overload>
</KeyWord>
<KeyWord name="len" func="yes">
<Overload retVal="int" >
<Param name="v Type" />
</Overload>
</KeyWord>
<KeyWord name="make" func="yes">
<Overload retVal="Type" >
<Param name="Type" />
<Param name="size IntegerType" />
</Overload>
</KeyWord>
<KeyWord name="new" func="yes">
<Overload retVal="*Type" >
<Param name="Type" />
</Overload>
</KeyWord>
<KeyWord name="panic" func="yes">
<Overload retVal="" >
<Param name="v interface{}" />
</Overload>
</KeyWord>
<KeyWord name="print" func="yes">
<Overload retVal="" >
<Param name="args ...Type" />
</Overload>
</KeyWord>
<KeyWord name="println" func="yes">
<Overload retVal="" >
<Param name="args ...Type" />
</Overload>
</KeyWord>
<KeyWord name="real" func="yes">
<Overload retVal="FloatType" >
<Param name="c ComplexType" />
</Overload>
</KeyWord>
<KeyWord name="recover" func="yes">
<Overload retVal="interface{}" >
</Overload>
</KeyWord>
<KeyWord name="ComplexType" />
<KeyWord name="FloatType" />
<KeyWord name="IntegerType" />
<KeyWord name="Type" />
<KeyWord name="Type1" />
<KeyWord name="any" />
<KeyWord name="bool" />
<KeyWord name="byte" />
<KeyWord name="comparable" />
<KeyWord name="complex128" />
<KeyWord name="complex64" />
<KeyWord name="error" />
<KeyWord name="float32" />
<KeyWord name="float64" />
<KeyWord name="int" />
<KeyWord name="int16" />
<KeyWord name="int32" />
<KeyWord name="int64" />
<KeyWord name="int8" />
<KeyWord name="rune" />
<KeyWord name="string" />
<KeyWord name="uint" />
<KeyWord name="uint16" />
<KeyWord name="uint32" />
<KeyWord name="uint64" />
<KeyWord name="uint8" />
<KeyWord name="uintptr" />
<KeyWord name="chan" />
<KeyWord name="const" />
<KeyWord name="func" />
<KeyWord name="interface" />
<KeyWord name="map" />
<KeyWord name="package" />
<KeyWord name="struct" />
<KeyWord name="type" />
<KeyWord name="var" />
</AutoComplete>
</NotepadPlus>

View File

@ -310,7 +310,6 @@
<KeyWord name="min" />
<KeyWord name="min-height" />
<KeyWord name="min-width" />
<KeyWord name="minlength" />
<KeyWord name="mix" />
<KeyWord name="move" />
<KeyWord name="ms" />
@ -538,7 +537,6 @@
<KeyWord name="src" />
<KeyWord name="srcdoc" />
<KeyWord name="srclang" />
<KeyWord name="srcset" />
<KeyWord name="start" />
<KeyWord name="static" />
<KeyWord name="status-bar" />

View File

@ -39,7 +39,6 @@
<KeyWord name="Array" />
<KeyWord name="asin" />
<KeyWord name="async" />
<KeyWord name="at" />
<KeyWord name="atan" />
<KeyWord name="atan2" />
<KeyWord name="atob" />
@ -62,7 +61,6 @@
<KeyWord name="bgColor" />
<KeyWord name="big" />
<KeyWord name="BigInt" />
<KeyWord name="bind" />
<KeyWord name="blink" />
<KeyWord name="blob" />
<KeyWord name="blur" />
@ -132,7 +130,6 @@
<KeyWord name="controllers" />
<KeyWord name="cookie" />
<KeyWord name="cookieEnabled" />
<KeyWord name="copyWithin" />
<KeyWord name="cos" />
<KeyWord name="cpuClass" />
<KeyWord name="createDocumentFragment" />
@ -200,7 +197,6 @@
<KeyWord name="encodeURI" />
<KeyWord name="encodeURIComponent" />
<KeyWord name="encoding" />
<KeyWord name="endsWith" />
<KeyWord name="enum" />
<KeyWord name="enumerable" />
<KeyWord name="entries" />
@ -234,8 +230,6 @@
<KeyWord name="find" />
<KeyWord name="findAll" />
<KeyWord name="findIndex" />
<KeyWord name="findLast" />
<KeyWord name="findLastIndex" />
<KeyWord name="firstChild" />
<KeyWord name="fixed" />
<KeyWord name="flat" />
@ -313,7 +307,6 @@
<KeyWord name="hasAttributeNS" />
<KeyWord name="hasAttributes" />
<KeyWord name="hasFocus" />
<KeyWord name="hasOwn" />
<KeyWord name="hasOwnProperty" />
<KeyWord name="hash" />
<KeyWord name="height" />
@ -739,7 +732,6 @@
<KeyWord name="SQRT1_2" />
<KeyWord name="SQRT2" />
<KeyWord name="src" />
<KeyWord name="startsWith" />
<KeyWord name="static" />
<KeyWord name="StaticRange" />
<KeyWord name="status" />
@ -787,20 +779,12 @@
<KeyWord name="timeEnd" />
<KeyWord name="title" />
<KeyWord name="toGMTString" />
<KeyWord name="toLocaleDateString" />
<KeyWord name="toLocaleString" />
<KeyWord name="toLocaleTimeString" />
<KeyWord name="toLowerCase" />
<KeyWord name="toolbar" />
<KeyWord name="top" />
<KeyWord name="total" />
<KeyWord name="toTimeString" />
<KeyWord name="toISOString" />
<KeyWord name="toJSON" />
<KeyWord name="toReversed" />
<KeyWord name="toSorted" />
<KeyWord name="toSource" />
<KeyWord name="toSpliced" />
<KeyWord name="toString" />
<KeyWord name="toUpperCase" />
<KeyWord name="toUTCString" />

File diff suppressed because it is too large Load Diff

View File

@ -1,10 +1,9 @@
<?xml version="1.0" encoding="UTF-8" ?>
<NotepadPlus>
<AutoComplete>
<KeyWord name="!addincludedir" />
<KeyWord name="!addplugindir" />
<KeyWord name="!AddIncludeDir" />
<KeyWord name="!AddPluginDir" />
<KeyWord name="!appendfile" />
<KeyWord name="!assert" />
<KeyWord name="!cd" />
<KeyWord name="!define" />
<KeyWord name="!delfile" />
@ -15,7 +14,6 @@
<KeyWord name="!execute" />
<KeyWord name="!finalize" />
<KeyWord name="!getdllversion" />
<KeyWord name="!gettlbversion" />
<KeyWord name="!if" />
<KeyWord name="!ifdef" />
<KeyWord name="!ifmacrodef" />
@ -26,15 +24,12 @@
<KeyWord name="!macro" />
<KeyWord name="!macroend" />
<KeyWord name="!macroundef" />
<KeyWord name="!makensis" />
<KeyWord name="!packhdr" />
<KeyWord name="!pragma" />
<KeyWord name="!searchparse" />
<KeyWord name="!searchreplace" />
<KeyWord name="!system" />
<KeyWord name="!tempfile" />
<KeyWord name="!undef" />
<KeyWord name="!uninstfinalize" />
<KeyWord name="!verbose" />
<KeyWord name="!warning" />
<KeyWord name="Abort" />
@ -56,11 +51,10 @@
<KeyWord name="CompletedText" />
<KeyWord name="ComponentText" />
<KeyWord name="CopyFiles" />
<KeyWord name="CPU" />
<KeyWord name="CRCCheck" />
<KeyWord name="CreateDirectory" />
<KeyWord name="CreateFont" />
<KeyWord name="CreateShortcut" />
<KeyWord name="CreateShortCut" />
<KeyWord name="Delete" />
<KeyWord name="DeleteINISec" />
<KeyWord name="DeleteINIStr" />
@ -77,7 +71,6 @@
<KeyWord name="Exch" />
<KeyWord name="Exec" />
<KeyWord name="ExecShell" />
<KeyWord name="ExecShellWait" />
<KeyWord name="ExecWait" />
<KeyWord name="ExpandEnvStrings" />
<KeyWord name="File" />
@ -88,12 +81,10 @@
<KeyWord name="FileRead" />
<KeyWord name="FileReadByte" />
<KeyWord name="FileReadUTF16LE" />
<KeyWord name="FileReadWord" />
<KeyWord name="FileSeek" />
<KeyWord name="FileWrite" />
<KeyWord name="FileWriteByte" />
<KeyWord name="FileWriteUTF16LE" />
<KeyWord name="FileWriteWord" />
<KeyWord name="FindClose" />
<KeyWord name="FindFirst" />
<KeyWord name="FindNext" />
@ -107,27 +98,22 @@
<KeyWord name="GetDLLVersion" />
<KeyWord name="GetDLLVersionLocal" />
<KeyWord name="GetErrorLevel" />
<KeyWord name="GetExeName" />
<KeyWord name="GetExePath" />
<KeyWord name="GetFileTime" />
<KeyWord name="GetFileTimeLocal" />
<KeyWord name="GetFullPathName" />
<KeyWord name="GetFunctionAddress" />
<KeyWord name="GetInstDirError" />
<KeyWord name="GetKnownFolderPath" />
<KeyWord name="GetLabelAddress" />
<KeyWord name="GetRegView" />
<KeyWord name="GetShellVarContext" />
<KeyWord name="GetTempFileName" />
<KeyWord name="GetWinVer" />
<KeyWord name="Goto" />
<KeyWord name="HideWindow" />
<KeyWord name="Icon" />
<KeyWord name="IfAbort" />
<KeyWord name="IfAltRegView" />
<KeyWord name="IfErrors" />
<KeyWord name="IfFileExists" />
<KeyWord name="IfRebootFlag" />
<KeyWord name="IfRtlLanguage" />
<KeyWord name="IfShellVarContextAll" />
<KeyWord name="IfSilent" />
<KeyWord name="InitPluginsDir" />
<KeyWord name="InstallButtonText" />
@ -138,16 +124,10 @@
<KeyWord name="InstType" />
<KeyWord name="InstTypeGetText" />
<KeyWord name="InstTypeSetText" />
<KeyWord name="Int64Cmp" />
<KeyWord name="Int64CmpU" />
<KeyWord name="Int64Fmt" />
<KeyWord name="IntCmp" />
<KeyWord name="IntCmpU" />
<KeyWord name="IntFmt" />
<KeyWord name="IntOp" />
<KeyWord name="IntPtrCmp" />
<KeyWord name="IntPtrCmpU" />
<KeyWord name="IntPtrOp" />
<KeyWord name="IsWindow" />
<KeyWord name="LangString" />
<KeyWord name="LangStringUP" />
@ -156,18 +136,11 @@
<KeyWord name="LicenseForceSelection" />
<KeyWord name="LicenseLangString" />
<KeyWord name="LicenseText" />
<KeyWord name="LoadAndSetImage" />
<KeyWord name="LoadLanguageFile" />
<KeyWord name="LockWindow" />
<KeyWord name="LogSet" />
<KeyWord name="LogText" />
<KeyWord name="ManifestAppendCustomString" />
<KeyWord name="ManifestDisableWindowFiltering" />
<KeyWord name="ManifestDPIAware" />
<KeyWord name="ManifestDPIAwareness" />
<KeyWord name="ManifestGdiScaling" />
<KeyWord name="ManifestLongPathAware" />
<KeyWord name="ManifestMaxVersionTested" />
<KeyWord name="ManifestSupportedOS" />
<KeyWord name="MessageBox" />
<KeyWord name="MiscButtonText" />
@ -175,19 +148,14 @@
<KeyWord name="Nop" />
<KeyWord name="OutFile" />
<KeyWord name="Page" />
<KeyWord name="PageCallbacks" />
<KeyWord name="PageEx" />
<KeyWord name="PageExEnd" />
<KeyWord name="PEAddResource" />
<KeyWord name="PEDllCharacteristics" />
<KeyWord name="PERemoveResource" />
<KeyWord name="PESubsysVer" />
<KeyWord name="PluginDir" />
<KeyWord name="Pop" />
<KeyWord name="Push" />
<KeyWord name="Quit" />
<KeyWord name="ReadEnvStr" />
<KeyWord name="ReadINIStr" />
<KeyWord name="ReadMemory" />
<KeyWord name="ReadRegDWORD" />
<KeyWord name="ReadRegStr" />
<KeyWord name="Reboot" />
@ -207,7 +175,6 @@
<KeyWord name="SectionGroup" />
<KeyWord name="SectionGroupEnd" />
<KeyWord name="SectionIn" />
<KeyWord name="SectionInstType" />
<KeyWord name="SectionSetFlags" />
<KeyWord name="SectionSetInstTypes" />
<KeyWord name="SectionSetSize" />
@ -236,6 +203,7 @@
<KeyWord name="SetRegView" />
<KeyWord name="SetShellVarContext" />
<KeyWord name="SetSilent" />
<KeyWord name="SetStaticBkColor" />
<KeyWord name="ShowInstDetails" />
<KeyWord name="ShowUninstDetails" />
<KeyWord name="ShowWindow" />
@ -250,17 +218,15 @@
<KeyWord name="SubCaption" />
<KeyWord name="SubSection" />
<KeyWord name="SubSectionEnd" />
<KeyWord name="Target" />
<KeyWord name="Unicode" />
<KeyWord name="UninstallButtonText" />
<KeyWord name="UninstallCaption" />
<KeyWord name="UninstallExeName" />
<KeyWord name="UninstallIcon" />
<KeyWord name="UninstallSubCaption" />
<KeyWord name="UninstallText" />
<KeyWord name="UninstPage" />
<KeyWord name="UnRegDLL" />
<KeyWord name="UnsafeStrCpy" />
<KeyWord name="UnsafeStrCpy " />
<KeyWord name="Var" />
<KeyWord name="VIAddVersionKey" />
<KeyWord name="VIFileVersion" />
@ -270,10 +236,8 @@
<KeyWord name="WriteRegBin" />
<KeyWord name="WriteRegDWORD" />
<KeyWord name="WriteRegExpandStr" />
<KeyWord name="WriteRegMultiStr" />
<KeyWord name="WriteRegNone" />
<KeyWord name="WriteRegStr" />
<KeyWord name="WriteUninstaller" />
<KeyWord name="XPStyle" />
</AutoComplete>
</NotepadPlus>
</NotepadPlus>

View File

@ -106,7 +106,6 @@
<KeyWord name="-width=>" />
<KeyWord name="-wrap=>" />
<KeyWord name="-xbase=>" />
<KeyWord name="ADJUST" />
<KeyWord name="ARGV" />
<KeyWord name="AUTOLOAD" />
<KeyWord name="Accept" />
@ -144,29 +143,16 @@
<KeyWord name="and" />
<KeyWord name="atan2" func="yes"><Overload retVal="" descr="arctangent of Y/X in the range -PI to PI"><Param name="Y" /><Param name="X" /></Overload></KeyWord>
<KeyWord name="attach" />
<KeyWord name="attributes" />
<KeyWord name="auth_type" />
<KeyWord name="autoEscape" />
<KeyWord name="autodie" />
<KeyWord name="autouse" />
<KeyWord name="base" />
<KeyWord name="bigfloat" />
<KeyWord name="bigint" />
<KeyWord name="bignum" />
<KeyWord name="bigrat" />
<KeyWord name="bind" func="yes"><Overload retVal="" descr="binds an address to a socket"><Param name="SOCKET" /><Param name="NAME" /></Overload></KeyWord>
<KeyWord name="binmode" func="yes"><Overload retVal="" descr="prepare binary files for I/O"><Param name="FILEHANDLE" /></Overload><Overload retVal="" descr="prepare binary files for I/O"><Param name="FILEHANDLE" /><Param name="LAYER" /></Overload></KeyWord>
<KeyWord name="bless" func="yes"><Overload retVal="" descr="create an object"><Param name="REF" /></Overload><Overload retVal="" descr="create an object"><Param name="REF" /><Param name="CLASSNAME" /></Overload></KeyWord>
<KeyWord name="blib" />
<KeyWord name="br" />
<KeyWord name="break" func="yes"><Overload retVal="" descr="break out of a given block"><Param name="" /></Overload></KeyWord>
<KeyWord name="builtin" />
<KeyWord name="button" />
<KeyWord name="bytes" />
<KeyWord name="caller" func="yes"><Overload retVal="" descr="get context of the current subroutine call"><Param name="EXPR" /></Overload><Overload retVal="" descr="get context of the current subroutine call"><Param name="" /></Overload></KeyWord>
<KeyWord name="caption" />
<KeyWord name="catch" func="yes"><Overload retVal="" descr="exception handling: catch an exception"><Param name="BLOCK" /></Overload></KeyWord>
<KeyWord name="charnames" />
<KeyWord name="chdir" func="yes"><Overload retVal="" descr="change your current working directory"><Param name="DIRHANDLE" /></Overload><Overload retVal="" descr="change your current working directory"><Param name="EXPR" /></Overload><Overload retVal="" descr="change your current working directory"><Param name="FILEHANDLE" /></Overload><Overload retVal="" descr="change your current working directory"><Param name="" /></Overload></KeyWord>
<KeyWord name="checkbox" />
<KeyWord name="checkbox_group" />
@ -176,7 +162,6 @@
<KeyWord name="chown" func="yes"><Overload retVal="" descr="change the ownership on a list of files"><Param name="LIST" /></Overload></KeyWord>
<KeyWord name="chr" func="yes"><Overload retVal="" descr="get character this number represents"><Param name="NUMBER" /></Overload><Overload retVal="" descr="get character this number represents"><Param name="" /></Overload></KeyWord>
<KeyWord name="chroot" func="yes"><Overload retVal="" descr="make directory new root for path lookups"><Param name="FILENAME" /></Overload><Overload retVal="" descr="make directory new root for path lookups"><Param name="" /></Overload></KeyWord>
<KeyWord name="class" />
<KeyWord name="close" func="yes"><Overload retVal="" descr="close file (or pipe or socket) handle"><Param name="FILEHANDLE" /></Overload><Overload retVal="" descr="close file (or pipe or socket) handle"><Param name="" /></Overload></KeyWord>
<KeyWord name="closedir" func="yes"><Overload retVal="" descr="close directory handle"><Param name="DIRHANDLE" /></Overload></KeyWord>
<KeyWord name="cmp" />
@ -192,13 +177,10 @@
<KeyWord name="dbmopen" func="yes"><Overload retVal="" descr="create binding on a tied dbm file"><Param name="HASH" /><Param name="DBNAME" /><Param name="MASK" /></Overload></KeyWord>
<KeyWord name="default" />
<KeyWord name="defaults" />
<KeyWord name="defer" func="yes"><Overload retVal="" descr="provides a section of code which runs at a later time during scope exit"><Param name="BLOCK" /></Overload></KeyWord>
<KeyWord name="defined" func="yes"><Overload retVal="" descr="test whether a value, variable, or function is defined"><Param name="EXPR" /></Overload><Overload retVal="" descr="test whether a value, variable, or function is defined"><Param name="" /></Overload></KeyWord>
<KeyWord name="deiconify" />
<KeyWord name="delete" func="yes"><Overload retVal="" descr="deletes a value from a hash"><Param name="EXPR" /></Overload></KeyWord>
<KeyWord name="delete_all" />
<KeyWord name="deprecate" />
<KeyWord name="diagnostics" />
<KeyWord name="die" func="yes"><Overload retVal="" descr="raise an exception or bail out"><Param name="LIST" /></Overload></KeyWord>
<KeyWord name="div" />
<KeyWord name="do" func="yes"><Overload retVal="" descr="turn a BLOCK into a TERM"><Param name="BLOCK" /></Overload><Overload retVal="" descr="turn a BLOCK into a TERM"><Param name="EXPR" /></Overload></KeyWord>
@ -207,7 +189,6 @@
<KeyWord name="else" />
<KeyWord name="elsif" />
<KeyWord name="em" />
<KeyWord name="encoding" />
<KeyWord name="end" />
<KeyWord name="end_h1" />
<KeyWord name="end_html" />
@ -231,16 +212,10 @@
<KeyWord name="exists" func="yes"><Overload retVal="" descr="test whether a hash key is present"><Param name="EXPR" /></Overload></KeyWord>
<KeyWord name="exit" func="yes"><Overload retVal="" descr="terminate this program"><Param name="EXPR" /></Overload><Overload retVal="" descr="terminate this program"><Param name="" /></Overload></KeyWord>
<KeyWord name="exp" func="yes"><Overload retVal="" descr="raise e to a power"><Param name="EXPR" /></Overload><Overload retVal="" descr="raise e to a power"><Param name="" /></Overload></KeyWord>
<KeyWord name="experimental" />
<KeyWord name="fc" func="yes"><Overload retVal="" descr="return casefolded version of a string"><Param name="EXPR" /></Overload><Overload retVal="" descr="return casefolded version of a string"><Param name="" /></Overload></KeyWord>
<KeyWord name="fcntl" func="yes"><Overload retVal="" descr="file control system call"><Param name="FILEHANDLE" /><Param name="FUNCTION" /><Param name="SCALAR" /></Overload></KeyWord>
<KeyWord name="feature" />
<KeyWord name="field" />
<KeyWord name="fields" />
<KeyWord name="filefield" />
<KeyWord name="fileno" func="yes"><Overload retVal="" descr="return file descriptor from filehandle"><Param name="DIRHANDLE" /></Overload><Overload retVal="" descr="return file descriptor from filehandle"><Param name="FILEHANDLE" /></Overload></KeyWord>
<KeyWord name="filetest" />
<KeyWord name="finally" func="yes"><Overload retVal="" descr="exception handling: runs block after try/catch"><Param name="BLOCK" /></Overload></KeyWord>
<KeyWord name="flock" func="yes"><Overload retVal="" descr="lock an entire file with an advisory lock"><Param name="FILEHANDLE" /><Param name="OPERATION" /></Overload></KeyWord>
<KeyWord name="font" />
<KeyWord name="for" />
@ -302,9 +277,7 @@
<KeyWord name="index" func="yes"><Overload retVal="" descr="find a substring within a string"><Param name="STR" /><Param name="SUBSTR" /></Overload><Overload retVal="" descr="find a substring within a string"><Param name="STR" /><Param name="SUBSTR" /><Param name="POSITION" /></Overload></KeyWord>
<KeyWord name="insert" />
<KeyWord name="int" func="yes"><Overload retVal="" descr="get the integer portion of a number"><Param name="EXPR" /></Overload><Overload retVal="" descr="get the integer portion of a number"><Param name="" /></Overload></KeyWord>
<KeyWord name="integer" />
<KeyWord name="ioctl" func="yes"><Overload retVal="" descr="system-dependent device control system call"><Param name="FILEHANDLE" /><Param name="FUNCTION" /><Param name="SCALAR" /></Overload></KeyWord>
<KeyWord name="isa" />
<KeyWord name="isindex" />
<KeyWord name="join" func="yes"><Overload retVal="" descr="join a list into a string using a separator"><Param name="EXPR" /><Param name="LIST" /></Overload></KeyWord>
<KeyWord name="keys" func="yes"><Overload retVal="" descr="retrieve list of indices from a hash"><Param name="ARRAY" /></Overload><Overload retVal="" descr="retrieve list of indices from a hash"><Param name="HASH" /></Overload></KeyWord>
@ -314,25 +287,19 @@
<KeyWord name="lcfirst" func="yes"><Overload retVal="" descr="return a string with just the next letter in lower case"><Param name="EXPR" /></Overload><Overload retVal="" descr="return a string with just the next letter in lower case"><Param name="" /></Overload></KeyWord>
<KeyWord name="le" />
<KeyWord name="length" func="yes"><Overload retVal="" descr="return the number of characters in a string"><Param name="EXPR" /></Overload><Overload retVal="" descr="return the number of characters in a string"><Param name="" /></Overload></KeyWord>
<KeyWord name="less" />
<KeyWord name="li" />
<KeyWord name="lib" />
<KeyWord name="link" func="yes"><Overload retVal="" descr="create a hard link in the filesystem"><Param name="OLDFILE" /><Param name="NEWFILE" /></Overload></KeyWord>
<KeyWord name="listen" func="yes"><Overload retVal="" descr="register your socket as a server"><Param name="SOCKET" /><Param name="QUEUESIZE" /></Overload></KeyWord>
<KeyWord name="local" func="yes"><Overload retVal="" descr="create a temporary value for a global variable (dynamic scoping)"><Param name="EXPR" /></Overload></KeyWord>
<KeyWord name="locale" />
<KeyWord name="localtime" func="yes"><Overload retVal="" descr="convert UNIX time into record or string using local time"><Param name="EXPR" /></Overload><Overload retVal="" descr="convert UNIX time into record or string using local time"><Param name="" /></Overload></KeyWord>
<KeyWord name="lock" func="yes"><Overload retVal="" descr="get a thread lock on a variable, subroutine, or method"><Param name="THING" /></Overload></KeyWord>
<KeyWord name="log" func="yes"><Overload retVal="" descr="retrieve the natural logarithm for a number"><Param name="EXPR" /></Overload><Overload retVal="" descr="retrieve the natural logarithm for a number"><Param name="" /></Overload></KeyWord>
<KeyWord name="lstat" func="yes"><Overload retVal="" descr="stat a symbolic link"><Param name="DIRHANDLE" /></Overload><Overload retVal="" descr="stat a symbolic link"><Param name="EXPR" /></Overload><Overload retVal="" descr="stat a symbolic link"><Param name="FILEHANDLE" /></Overload><Overload retVal="" descr="stat a symbolic link"><Param name="" /></Overload></KeyWord>
<KeyWord name="lt" />
<KeyWord name="m" func="yes"><Overload retVal="" descr="quotes string as substitution regex"><Param name="" /></Overload></KeyWord>
<KeyWord name="map" func="yes"><Overload retVal="" descr="apply a change to a list to get back a new list with the changes"><Param name="BLOCK LIST" /></Overload><Overload retVal="" descr="apply a change to a list to get back a new list with the changes"><Param name="EXPR" /><Param name="LIST" /></Overload></KeyWord>
<KeyWord name="maxsize" />
<KeyWord name="method" />
<KeyWord name="minsize" />
<KeyWord name="mkdir" func="yes"><Overload retVal="" descr="create a directory"><Param name="FILENAME" /></Overload><Overload retVal="" descr="create a directory"><Param name="FILENAME" /><Param name="MODE" /></Overload><Overload retVal="" descr="create a directory"><Param name="" /></Overload></KeyWord>
<KeyWord name="mro" />
<KeyWord name="msgctl" func="yes"><Overload retVal="" descr="SysV IPC message control operations"><Param name="ID" /><Param name="CMD" /><Param name="ARG" /></Overload></KeyWord>
<KeyWord name="msgget" func="yes"><Overload retVal="" descr="get SysV IPC message queue"><Param name="KEY" /><Param name="FLAGS" /></Overload></KeyWord>
<KeyWord name="msgrcv" func="yes"><Overload retVal="" descr="receive a SysV IPC message from a message queue"><Param name="ID" /><Param name="VAR" /><Param name="SIZE" /><Param name="TYPE,FLAGS" /></Overload></KeyWord>
@ -346,22 +313,16 @@
<KeyWord name="no" func="yes"><Overload retVal="" descr="unimport some module symbols or semantics at compile time"><Param name="MODULE" /></Overload><Overload retVal="" descr="unimport some module symbols or semantics at compile time"><Param name="MODULE LIST" /></Overload><Overload retVal="" descr="unimport some module symbols or semantics at compile time"><Param name="MODULE VERSION" /></Overload><Overload retVal="" descr="unimport some module symbols or semantics at compile time"><Param name="MODULE VERSION LIST" /></Overload><Overload retVal="" descr="unimport some module symbols or semantics at compile time"><Param name="VERSION" /></Overload></KeyWord>
<KeyWord name="not" />
<KeyWord name="oct" func="yes"><Overload retVal="" descr="convert a string to an octal number"><Param name="EXPR" /></Overload><Overload retVal="" descr="convert a string to an octal number"><Param name="" /></Overload></KeyWord>
<KeyWord name="ok" />
<KeyWord name="ol" />
<KeyWord name="open" func="yes"><Overload retVal="" descr="open a file, pipe, or descriptor"><Param name="FILEHANDLE" /></Overload><Overload retVal="" descr="open a file, pipe, or descriptor"><Param name="FILEHANDLE" /><Param name="EXPR" /></Overload><Overload retVal="" descr="open a file, pipe, or descriptor"><Param name="FILEHANDLE" /><Param name="MODE" /><Param name="EXPR" /></Overload><Overload retVal="" descr="open a file, pipe, or descriptor"><Param name="FILEHANDLE" /><Param name="MODE" /><Param name="EXPR" /><Param name="LIST" /></Overload><Overload retVal="" descr="open a file, pipe, or descriptor"><Param name="FILEHANDLE" /><Param name="MODE" /><Param name="REFERENCE" /></Overload></KeyWord>
<KeyWord name="opendir" func="yes"><Overload retVal="" descr="open a directory"><Param name="DIRHANDLE" /><Param name="EXPR" /></Overload></KeyWord>
<KeyWord name="ops" />
<KeyWord name="or" />
<KeyWord name="ord" func="yes"><Overload retVal="" descr="find a character's numeric representation"><Param name="EXPR" /></Overload><Overload retVal="" descr="find a character's numeric representation"><Param name="" /></Overload></KeyWord>
<KeyWord name="order" />
<KeyWord name="our" func="yes"><Overload retVal="" descr="declare and assign a package variable (lexical scoping)"><Param name="TYPE VARLIST" /></Overload><Overload retVal="" descr="declare and assign a package variable (lexical scoping)"><Param name="TYPE VARLIST : ATTRS" /></Overload><Overload retVal="" descr="declare and assign a package variable (lexical scoping)"><Param name="VARLIST" /></Overload><Overload retVal="" descr="declare and assign a package variable (lexical scoping)"><Param name="VARLIST : ATTRS" /></Overload></KeyWord>
<KeyWord name="overload" />
<KeyWord name="overloading" />
<KeyWord name="pack" func="yes"><Overload retVal="" descr="convert a list into a binary representation"><Param name="TEMPLATE" /><Param name="LIST" /></Overload></KeyWord>
<KeyWord name="package" func="yes"><Overload retVal="" descr="declare a separate global namespace"><Param name="NAMESPACE" /></Overload><Overload retVal="" descr="declare a separate global namespace"><Param name="NAMESPACE BLOCK" /></Overload><Overload retVal="" descr="declare a separate global namespace"><Param name="NAMESPACE VERSION" /></Overload><Overload retVal="" descr="declare a separate global namespace"><Param name="NAMESPACE VERSION BLOCK" /></Overload></KeyWord>
<KeyWord name="param" />
<KeyWord name="param_fetch" />
<KeyWord name="parent" />
<KeyWord name="password_field" />
<KeyWord name="path_info" />
<KeyWord name="pipe" func="yes"><Overload retVal="" descr="open a pair of connected filehandles"><Param name="READHANDLE" /><Param name="WRITEHANDLE" /></Overload></KeyWord>
@ -373,9 +334,7 @@
<KeyWord name="printf" func="yes"><Overload retVal="" descr="output a formatted list to a filehandle"><Param name="FILEHANDLE" /></Overload><Overload retVal="" descr="output a formatted list to a filehandle"><Param name="FILEHANDLE FORMAT" /><Param name="LIST" /></Overload><Overload retVal="" descr="output a formatted list to a filehandle"><Param name="FORMAT" /><Param name="LIST" /></Overload><Overload retVal="" descr="output a formatted list to a filehandle"><Param name="" /></Overload></KeyWord>
<KeyWord name="prototype" func="yes"><Overload retVal="" descr="get the prototype (if any) of a subroutine"><Param name="FUNCTION" /></Overload><Overload retVal="" descr="get the prototype (if any) of a subroutine"><Param name="" /></Overload></KeyWord>
<KeyWord name="push" func="yes"><Overload retVal="" descr="append one or more elements to an array"><Param name="ARRAY" /><Param name="LIST" /></Overload></KeyWord>
<KeyWord name="q" func="yes"><Overload retVal="" descr="singly quote a string"><Param name="" /></Overload></KeyWord>
<KeyWord name="qq" func="yes"><Overload retVal="" descr="doubly quote a string"><Param name="" /></Overload></KeyWord>
<KeyWord name="qr" func="yes"><Overload retVal="" descr="quotes string as regular expression"><Param name="" /></Overload></KeyWord>
<KeyWord name="query_string" />
<KeyWord name="quotemeta" func="yes"><Overload retVal="" descr="quote regular expression magic characters"><Param name="EXPR" /></Overload><Overload retVal="" descr="quote regular expression magic characters"><Param name="" /></Overload></KeyWord>
<KeyWord name="qw" func="yes"><Overload retVal="" descr="quote a list of words"><Param name="" /></Overload></KeyWord>
@ -384,7 +343,6 @@
<KeyWord name="raise" />
<KeyWord name="rand" func="yes"><Overload retVal="" descr="retrieve the next pseudorandom number"><Param name="EXPR" /></Overload><Overload retVal="" descr="retrieve the next pseudorandom number"><Param name="" /></Overload></KeyWord>
<KeyWord name="raw_cookie" />
<KeyWord name="re" />
<KeyWord name="read" func="yes"><Overload retVal="" descr="fixed-length buffered input from a filehandle"><Param name="FILEHANDLE" /><Param name="SCALAR" /><Param name="LENGTH" /></Overload><Overload retVal="" descr="fixed-length buffered input from a filehandle"><Param name="FILEHANDLE" /><Param name="SCALAR" /><Param name="LENGTH" /><Param name="OFFSET" /></Overload></KeyWord>
<KeyWord name="readdir" func="yes"><Overload retVal="" descr="get a directory from a directory handle"><Param name="DIRHANDLE" /></Overload></KeyWord>
<KeyWord name="readline" func="yes"><Overload retVal="" descr="fetch a record from a file"><Param name="EXPR" /></Overload><Overload retVal="" descr="fetch a record from a file"><Param name="" /></Overload></KeyWord>
@ -409,7 +367,6 @@
<KeyWord name="rewinddir" func="yes"><Overload retVal="" descr="reset directory handle"><Param name="DIRHANDLE" /></Overload></KeyWord>
<KeyWord name="rindex" func="yes"><Overload retVal="" descr="right-to-left substring search"><Param name="STR" /><Param name="SUBSTR" /></Overload><Overload retVal="" descr="right-to-left substring search"><Param name="STR" /><Param name="SUBSTR" /><Param name="POSITION" /></Overload></KeyWord>
<KeyWord name="rmdir" func="yes"><Overload retVal="" descr="remove a directory"><Param name="FILENAME" /></Overload><Overload retVal="" descr="remove a directory"><Param name="" /></Overload></KeyWord>
<KeyWord name="s" func="yes"><Overload retVal="" descr="quotes string as substitution regex"><Param name="" /></Overload></KeyWord>
<KeyWord name="say" func="yes"><Overload retVal="" descr="output a list to a filehandle, appending a newline"><Param name="FILEHANDLE" /></Overload><Overload retVal="" descr="output a list to a filehandle, appending a newline"><Param name="FILEHANDLE LIST" /></Overload><Overload retVal="" descr="output a list to a filehandle, appending a newline"><Param name="LIST" /></Overload><Overload retVal="" descr="output a list to a filehandle, appending a newline"><Param name="" /></Overload></KeyWord>
<KeyWord name="scalar" func="yes"><Overload retVal="" descr="force a scalar context"><Param name="EXPR" /></Overload></KeyWord>
<KeyWord name="script_name" />
@ -441,9 +398,7 @@
<KeyWord name="shmread" func="yes"><Overload retVal="" descr="read SysV shared memory"><Param name="ID" /><Param name="VAR" /><Param name="POS" /><Param name="SIZE" /></Overload></KeyWord>
<KeyWord name="shmwrite" func="yes"><Overload retVal="" descr="write SysV shared memory"><Param name="ID" /><Param name="STRING" /><Param name="POS" /><Param name="SIZE" /></Overload></KeyWord>
<KeyWord name="shutdown" func="yes"><Overload retVal="" descr="close down just half of a socket connection"><Param name="SOCKET" /><Param name="HOW" /></Overload></KeyWord>
<KeyWord name="sigtrap" />
<KeyWord name="sin" func="yes"><Overload retVal="" descr="return the sine of a number"><Param name="EXPR" /></Overload><Overload retVal="" descr="return the sine of a number"><Param name="" /></Overload></KeyWord>
<KeyWord name="size" />
<KeyWord name="sleep" func="yes"><Overload retVal="" descr="block for some number of seconds"><Param name="EXPR" /></Overload><Overload retVal="" descr="block for some number of seconds"><Param name="" /></Overload></KeyWord>
<KeyWord name="socket" func="yes"><Overload retVal="" descr="create a socket"><Param name="SOCKET" /><Param name="DOMAIN" /><Param name="TYPE" /><Param name="PROTOCOL" /></Overload></KeyWord>
<KeyWord name="socketpair" func="yes"><Overload retVal="" descr="create a pair of sockets"><Param name="SOCKET1" /><Param name="SOCKET2" /><Param name="DOMAIN" /><Param name="TYPE,PROTOCOL" /></Overload></KeyWord>
@ -454,7 +409,6 @@
<KeyWord name="sprintf" func="yes"><Overload retVal="" descr="formatted print into a string"><Param name="FORMAT" /><Param name="LIST" /></Overload></KeyWord>
<KeyWord name="sqrt" func="yes"><Overload retVal="" descr="square root function"><Param name="EXPR" /></Overload><Overload retVal="" descr="square root function"><Param name="" /></Overload></KeyWord>
<KeyWord name="srand" func="yes"><Overload retVal="" descr="seed the random number generator"><Param name="EXPR" /></Overload><Overload retVal="" descr="seed the random number generator"><Param name="" /></Overload></KeyWord>
<KeyWord name="stable" />
<KeyWord name="start_form" />
<KeyWord name="start_h1" />
<KeyWord name="start_html" />
@ -469,7 +423,6 @@
<KeyWord name="study" func="yes"><Overload retVal="" descr="no-op, formerly optimized input data for repeated searches"><Param name="SCALAR" /></Overload><Overload retVal="" descr="no-op, formerly optimized input data for repeated searches"><Param name="" /></Overload></KeyWord>
<KeyWord name="sub" func="yes"><Overload retVal="" descr="declare a subroutine, possibly anonymously"><Param name="NAME (PROTO) : ATTRS BLOCK" /></Overload><Overload retVal="" descr="declare a subroutine, possibly anonymously"><Param name="NAME (PROTO) BLOCK" /></Overload><Overload retVal="" descr="declare a subroutine, possibly anonymously"><Param name="NAME : ATTRS BLOCK" /></Overload><Overload retVal="" descr="declare a subroutine, possibly anonymously"><Param name="NAME BLOCK" /></Overload></KeyWord>
<KeyWord name="submit" />
<KeyWord name="subs" />
<KeyWord name="substr" func="yes"><Overload retVal="" descr="get or alter a portion of a string"><Param name="EXPR" /><Param name="OFFSET" /></Overload><Overload retVal="" descr="get or alter a portion of a string"><Param name="EXPR" /><Param name="OFFSET" /><Param name="LENGTH" /></Overload><Overload retVal="" descr="get or alter a portion of a string"><Param name="EXPR" /><Param name="OFFSET" /><Param name="LENGTH" /><Param name="REPLACEMENT" /></Overload></KeyWord>
<KeyWord name="symlink" func="yes"><Overload retVal="" descr="create a symbolic link to a file"><Param name="OLDFILE" /><Param name="NEWFILE" /></Overload></KeyWord>
<KeyWord name="syscall" func="yes"><Overload retVal="" descr="execute an arbitrary system call"><Param name="NUMBER" /><Param name="LIST" /></Overload></KeyWord>
@ -486,7 +439,6 @@
<KeyWord name="textarea" />
<KeyWord name="textfield" />
<KeyWord name="th" />
<KeyWord name="threads" />
<KeyWord name="tie" func="yes"><Overload retVal="" descr="bind a variable to an object class"><Param name="VARIABLE" /><Param name="CLASSNAME" /><Param name="LIST" /></Overload></KeyWord>
<KeyWord name="tied" func="yes"><Overload retVal="" descr="get a reference to the object underlying a tied variable"><Param name="VARIABLE" /></Overload></KeyWord>
<KeyWord name="time" func="yes"><Overload retVal="" descr="return number of seconds since 1970"><Param name="" /></Overload></KeyWord>
@ -495,7 +447,6 @@
<KeyWord name="tmpFileName" />
<KeyWord name="top" />
<KeyWord name="tr" func="yes"><Overload retVal="" descr="transliterate a string"><Param name="" /></Overload></KeyWord>
<KeyWord name="try" func="yes"><Overload retVal="" descr="exception handling: try a block"><Param name="BLOCK" /></Overload></KeyWord>
<KeyWord name="truncate" func="yes"><Overload retVal="" descr="shorten a file"><Param name="EXPR" /><Param name="LENGTH" /></Overload><Overload retVal="" descr="shorten a file"><Param name="FILEHANDLE" /><Param name="LENGTH" /></Overload></KeyWord>
<KeyWord name="uc" func="yes"><Overload retVal="" descr="return upper-case version of a string"><Param name="EXPR" /></Overload><Overload retVal="" descr="return upper-case version of a string"><Param name="" /></Overload></KeyWord>
<KeyWord name="ucfirst" func="yes"><Overload retVal="" descr="return a string with just the next letter in upper case"><Param name="EXPR" /></Overload><Overload retVal="" descr="return a string with just the next letter in upper case"><Param name="" /></Overload></KeyWord>
@ -519,26 +470,20 @@
<KeyWord name="use_named_parameters" />
<KeyWord name="user_agent" />
<KeyWord name="user_name" />
<KeyWord name="utf8" />
<KeyWord name="utime" func="yes"><Overload retVal="" descr="set a file's last access and modify times"><Param name="LIST" /></Overload></KeyWord>
<KeyWord name="values" func="yes"><Overload retVal="" descr="return a list of the values in a hash"><Param name="ARRAY" /></Overload><Overload retVal="" descr="return a list of the values in a hash"><Param name="HASH" /></Overload></KeyWord>
<KeyWord name="variable" />
<KeyWord name="vars" />
<KeyWord name="vec" func="yes"><Overload retVal="" descr="test or set particular bits in a string"><Param name="EXPR" /><Param name="OFFSET" /><Param name="BITS" /></Overload></KeyWord>
<KeyWord name="version" />
<KeyWord name="virtual_host" />
<KeyWord name="vmsish" />
<KeyWord name="wait" func="yes"><Overload retVal="" descr="wait for any child process to die"><Param name="" /></Overload></KeyWord>
<KeyWord name="waitpid" func="yes"><Overload retVal="" descr="wait for a particular child process to die"><Param name="PID" /><Param name="FLAGS" /></Overload></KeyWord>
<KeyWord name="wantarray" func="yes"><Overload retVal="" descr="get void vs scalar vs list context of current subroutine call"><Param name="" /></Overload></KeyWord>
<KeyWord name="warn" func="yes"><Overload retVal="" descr="print debugging info"><Param name="LIST" /></Overload></KeyWord>
<KeyWord name="warnings" />
<KeyWord name="when" />
<KeyWord name="while" />
<KeyWord name="width" />
<KeyWord name="write" func="yes"><Overload retVal="" descr="print a picture record"><Param name="EXPR" /></Overload><Overload retVal="" descr="print a picture record"><Param name="FILEHANDLE" /></Overload><Overload retVal="" descr="print a picture record"><Param name="" /></Overload></KeyWord>
<KeyWord name="x" />
<KeyWord name="xor" />
<KeyWord name="y" func="yes"><Overload retVal="" descr="transliterate a string (alternate form for tr//)"><Param name="" /></Overload></KeyWord>
</AutoComplete>
</NotepadPlus>

View File

@ -217,9 +217,11 @@
<Param name="callback key_compare_func"/>
</Overload>
</KeyWord>
<KeyWord name="array_is_list" func="yes">
<Overload retVal="bool">
<Param name="array array"/>
<KeyWord name="array_keys" func="yes">
<Overload retVal="array">
<Param name="array input"/>
<Param name="[mixed search_value"/>
<Param name="[bool strict=false]]"/>
</Overload>
</KeyWord>
<KeyWord name="array_key_exists" func="yes">
@ -228,23 +230,6 @@
<Param name="array search"/>
</Overload>
</KeyWord>
<KeyWord name="array_key_first" func="yes">
<Overload retVal="int|string|NULL">
<Param name="array array"/>
</Overload>
</KeyWord>
<KeyWord name="array_key_last" func="yes">
<Overload retVal="int|string|NULL">
<Param name="array array"/>
</Overload>
</KeyWord>
<KeyWord name="array_keys" func="yes">
<Overload retVal="array">
<Param name="array input"/>
<Param name="[mixed search_value"/>
<Param name="[bool strict=false]]"/>
</Overload>
</KeyWord>
<KeyWord name="array_map" func="yes">
<Overload retVal="array">
<Param name="callback callback"/>
@ -1961,7 +1946,6 @@
<Param name="array &amp;array"/>
</Overload>
</KeyWord>
<KeyWord name="enum"/>
<KeyWord name="ereg" func="yes">
<Overload retVal="int">
<Param name="string pattern"/>
@ -2450,11 +2434,6 @@
<Param name="resource handle"/>
</Overload>
</KeyWord>
<KeyWord name="fdatasync" func="yes">
<Overload retVal="bool">
<Param name="resource stream"/>
</Overload>
</KeyWord>
<KeyWord name="fdf_add_doc_javascript" func="yes">
<Overload retVal="bool">
<Param name="resource fdfdoc"/>
@ -2682,12 +2661,6 @@
<Param name="string version"/>
</Overload>
</KeyWord>
<KeyWord name="fdiv" func="yes">
<Overload retVal="float">
<Param name="float num1"/>
<Param name="float num2"/>
</Overload>
</KeyWord>
<KeyWord name="feof" func="yes">
<Overload retVal="bool">
<Param name="resource handle"/>
@ -2821,18 +2794,18 @@
<KeyWord name="file_get_contents" func="yes">
<Overload retVal="string|false">
<Param name="string filename"/>
<Param name="[bool use_include_path=false"/>
<Param name="[resource context=NULL"/>
<Param name="[int offset=0"/>
<Param name="[int length]]]]"/>
<Param name="[int flags=0"/>
<Param name="[resource context"/>
<Param name="[int offset=-1"/>
<Param name="[int maxlen=-1]]]]"/>
</Overload>
</KeyWord>
<KeyWord name="file_put_contents" func="yes">
<Overload retVal="int|false">
<Param name="string filename"/>
<Param name="string file"/>
<Param name="mixed data"/>
<Param name="[int flags=0"/>
<Param name="[resource context=NULL]]"/>
<Param name="[resource context]]"/>
</Overload>
</KeyWord>
<KeyWord name="file_register_wrapper" func="yes">
@ -2994,11 +2967,6 @@
<Param name="[int whence=SEEK_SET]"/>
</Overload>
</KeyWord>
<KeyWord name="fsync" func="yes">
<Overload retVal="bool">
<Param name="resource stream"/>
</Overload>
</KeyWord>
<KeyWord name="fsockopen" func="yes">
<Overload retVal="resource|false">
<Param name="string hostname"/>
@ -3474,11 +3442,6 @@
<Param name="void"/>
</Overload>
</KeyWord>
<KeyWord name="get_debug_type" func="yes">
<Overload retVal="string">
<Param name="mixed value"/>
</Overload>
</KeyWord>
<KeyWord name="get_declared_classes" func="yes">
<Overload retVal="array">
<Param name="void"/>
@ -3562,11 +3525,6 @@
<Param name="[mixed object]"/>
</Overload>
</KeyWord>
<KeyWord name="get_resource_id" func="yes">
<Overload retVal="int">
<Param name="resource resource"/>
</Overload>
</KeyWord>
<KeyWord name="get_resource_type" func="yes">
<Overload retVal="string|false">
<Param name="resource handle"/>
@ -5765,11 +5723,6 @@
<Param name="[bool details=true]]"/>
</Overload>
</KeyWord>
<KeyWord name="ini_parse_quantity" func="yes">
<Overload retVal="int">
<Param name="string shorthand"/>
</Overload>
</KeyWord>
<KeyWord name="ini_restore" func="yes">
<Overload retVal="void">
<Param name="string varname"/>
@ -5857,11 +5810,6 @@
<Param name="[string callable_name]]"/>
</Overload>
</KeyWord>
<KeyWord name="is_countable" func="yes">
<Overload retVal="bool">
<Param name="mixed value"/>
</Overload>
</KeyWord>
<KeyWord name="is_dir" func="yes">
<Overload retVal="bool">
<Param name="string filename"/>
@ -6079,13 +6027,6 @@
<Param name="void"/>
</Overload>
</KeyWord>
<KeyWord name="json_validate" func="yes">
<Overload retVal="bool">
<Param name="string json"/>
<Param name="[int depth=512"/>
<Param name="[int flags=0]]"/>
</Overload>
</KeyWord>
<KeyWord name="juliantojd" func="yes">
<Overload retVal="int">
<Param name="int month"/>
@ -6434,11 +6375,6 @@
<Param name="void"/>
</Overload>
</KeyWord>
<KeyWord name="libxml_get_external_entity_loader" func="yes">
<Overload retVal="?callable">
<Param name="void"/>
</Overload>
</KeyWord>
<KeyWord name="libxml_get_last_error" func="yes">
<Overload retVal="object">
<Param name="void"/>
@ -6874,15 +6810,6 @@
<Param name="[string encoding]"/>
</Overload>
</KeyWord>
<KeyWord name="mb_str_pad" func="yes">
<Overload retVal="string">
<Param name="string string"/>
<Param name="int length"/>
<Param name="[string pad_string=&quot; &quot;"/>
<Param name="[int pad_type=STR_PAD_RIGHT"/>
<Param name="[string encoding]]]"/>
</Overload>
</KeyWord>
<KeyWord name="mb_substitute_character" func="yes">
<Overload retVal="mixed">
<Param name="[mixed substchar]"/>
@ -8532,7 +8459,6 @@
<Param name="array &amp;array"/>
</Overload>
</KeyWord>
<KeyWord name="never"/>
<KeyWord name="next" func="yes">
<Overload retVal="mixed">
<Param name="array &amp;array"/>
@ -9424,11 +9350,6 @@
<Param name="int facility"/>
</Overload>
</KeyWord>
<KeyWord name="openssl_cipher_key_length" func="yes">
<Overload retVal="int|false">
<Param name="string cipher_algo"/>
</Overload>
</KeyWord>
<KeyWord name="openssl_csr_export" func="yes">
<Overload retVal="bool">
<Param name="resource csr"/>
@ -9762,7 +9683,7 @@
<KeyWord name="pcntl_signal" func="yes">
<Overload retVal="bool">
<Param name="int signo"/>
<Param name="callback handler"/>
<Param name="callback handle"/>
<Param name="[bool restart_syscalls]"/>
</Overload>
</KeyWord>
@ -10503,18 +10424,6 @@
<Param name="void"/>
</Overload>
</KeyWord>
<KeyWord name="posix_eaccess" func="yes">
<Overload retVal="bool">
<Param name="string filename"/>
<Param name="[int flags=0]"/>
</Overload>
</KeyWord>
<KeyWord name="posix_fpathconf" func="yes">
<Overload retVal="int|false">
<Param name="resource|int file_descriptor"/>
<Param name="int name"/>
</Overload>
</KeyWord>
<KeyWord name="posix_getcwd" func="yes">
<Overload retVal="string">
<Param name="void"/>
@ -10636,12 +10545,6 @@
<Param name="[int minor]]"/>
</Overload>
</KeyWord>
<KeyWord name="posix_pathconf" func="yes">
<Overload retVal="int|false">
<Param name="string path"/>
<Param name="int name"/>
</Overload>
</KeyWord>
<KeyWord name="posix_setegid" func="yes">
<Overload retVal="bool">
<Param name="int uid"/>
@ -10678,11 +10581,6 @@
<Param name="int errno"/>
</Overload>
</KeyWord>
<KeyWord name="posix_sysconf" func="yes">
<Overload retVal="int">
<Param name="int conf_id"/>
</Overload>
</KeyWord>
<KeyWord name="posix_times" func="yes">
<Overload retVal="array">
<Param name="void"/>
@ -11100,7 +10998,6 @@
<Param name="string path"/>
</Overload>
</KeyWord>
<KeyWord name="readonly"/>
<KeyWord name="realpath" func="yes">
<Overload retVal="string|false">
<Param name="string path"/>
@ -11670,11 +11567,6 @@
<Param name="resource socket"/>
</Overload>
</KeyWord>
<KeyWord name="socket_atmark" func="yes">
<Overload retVal="bool">
<Param name="Socket socket"/>
</Overload>
</KeyWord>
<KeyWord name="socket_bind" func="yes">
<Overload retVal="bool">
<Param name="resource socket"/>
@ -12261,12 +12153,6 @@
<Param name="mixed value"/>
</Overload>
</KeyWord>
<KeyWord name="stream_context_set_options" func="yes">
<Overload retVal="bool">
<Param name="resource context"/>
<Param name="array options"/>
</Overload>
</KeyWord>
<KeyWord name="stream_context_set_params" func="yes">
<Overload retVal="bool">
<Param name="resource stream_or_context"/>
@ -12320,10 +12206,10 @@
</Overload>
</KeyWord>
<KeyWord name="stream_get_contents" func="yes">
<Overload retVal="string|false">
<Param name="resource stream"/>
<Param name="[int length=-1"/>
<Param name="[int offset=-1]]"/>
<Overload retVal="string">
<Param name="resource handle"/>
<Param name="[int maxlength=-1"/>
<Param name="[int offset=0]]"/>
</Overload>
</KeyWord>
<KeyWord name="stream_get_filters" func="yes">
@ -12642,23 +12528,6 @@
<Param name="mixed var"/>
</Overload>
</KeyWord>
<KeyWord name="str_contains" func="yes">
<Overload retVal="bool">
<Param name="string haystack"/>
<Param name="string needle"/>
</Overload>
</KeyWord>
<KeyWord name="str_decrement" func="yes">
<Overload retVal="string">
<Param name="string string"/>
</Overload>
</KeyWord>
<KeyWord name="str_ends_with" func="yes">
<Overload retVal="bool">
<Param name="string haystack"/>
<Param name="string needle"/>
</Overload>
</KeyWord>
<KeyWord name="str_getcsv" func="yes">
<Overload retVal="array">
<Param name="string input"/>
@ -12667,11 +12536,6 @@
<Param name="[string escape]]]"/>
</Overload>
</KeyWord>
<KeyWord name="str_increment" func="yes">
<Overload retVal="string">
<Param name="string string"/>
</Overload>
</KeyWord>
<KeyWord name="str_ireplace" func="yes">
<Overload retVal="mixed">
<Param name="mixed search"/>
@ -12718,12 +12582,6 @@
<Param name="[int split_length=1]"/>
</Overload>
</KeyWord>
<KeyWord name="str_starts_with" func="yes">
<Overload retVal="bool">
<Param name="string haystack"/>
<Param name="string needle"/>
</Overload>
</KeyWord>
<KeyWord name="str_word_count" func="yes">
<Overload retVal="mixed">
<Param name="string str"/>

File diff suppressed because it is too large Load Diff

View File

@ -1,747 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<NotepadPlus>
<AutoComplete>
<Environment ignoreCase="no" startFunc="(" stopFunc=")" paramSeparator="," terminal=";" />
<KeyWord name="ACCEPTS" />
<KeyWord name="AST" />
<KeyWord name="AT-KEY" />
<KeyWord name="Any" />
<KeyWord name="Array" />
<KeyWord name="Associative" />
<KeyWord name="Attribute" />
<KeyWord name="BEGIN" />
<KeyWord name="Backtrace" />
<KeyWord name="Backtrace::Frame" />
<KeyWord name="Bag" />
<KeyWord name="BagHash" />
<KeyWord name="Baggy" />
<KeyWord name="Blob" />
<KeyWord name="Block" />
<KeyWord name="Bool" />
<KeyWord name="Buf" />
<KeyWord name="CATCH" />
<KeyWord name="CHECK" />
<KeyWord name="CONTROL" />
<KeyWord name="CX::Done" />
<KeyWord name="CX::Emit" />
<KeyWord name="CX::Last" />
<KeyWord name="CX::Next" />
<KeyWord name="CX::Proceed" />
<KeyWord name="CX::Redo" />
<KeyWord name="CX::Return" />
<KeyWord name="CX::Succeed" />
<KeyWord name="CX::Take" />
<KeyWord name="CX::Warn" />
<KeyWord name="CallFrame" />
<KeyWord name="Callable" />
<KeyWord name="Cancellation" />
<KeyWord name="Capture" />
<KeyWord name="Channel" />
<KeyWord name="Code" />
<KeyWord name="Collation" />
<KeyWord name="CompUnit" />
<KeyWord name="CompUnit::Repository" />
<KeyWord name="CompUnit::Repository::FileSystem" />
<KeyWord name="CompUnit::Repository::Installation" />
<KeyWord name="Compiler" />
<KeyWord name="Complex" />
<KeyWord name="ComplexStr" />
<KeyWord name="Cool" />
<KeyWord name="CurrentThreadScheduler" />
<KeyWord name="D" />
<KeyWord name="Date" />
<KeyWord name="DateTime" />
<KeyWord name="Dateish" />
<KeyWord name="Distribution" />
<KeyWord name="Distribution::Hash" />
<KeyWord name="Distribution::Locally" />
<KeyWord name="Distribution::Path" />
<KeyWord name="Distro" />
<KeyWord name="Duration" />
<KeyWord name="END" />
<KeyWord name="ENTER" />
<KeyWord name="EVAL" />
<KeyWord name="EVALFILE" />
<KeyWord name="EXISTS-KEY" />
<KeyWord name="Encoding" />
<KeyWord name="Encoding::Registry" />
<KeyWord name="Endian" />
<KeyWord name="Enumeration" />
<KeyWord name="Exception" />
<KeyWord name="FIRST" />
<KeyWord name="Failure" />
<KeyWord name="FatRat" />
<KeyWord name="Filetests" />
<KeyWord name="ForeignCode" />
<KeyWord name="Grammar" />
<KeyWord name="Hash" />
<KeyWord name="HyperSeq" />
<KeyWord name="HyperWhatever" />
<KeyWord name="INIT" />
<KeyWord name="IO" />
<KeyWord name="IO" />
<KeyWord name="IO::ArgFiles" />
<KeyWord name="IO::CatHandle" />
<KeyWord name="IO::Handle" />
<KeyWord name="IO::Notification" />
<KeyWord name="IO::Path" />
<KeyWord name="IO::Path::Cygwin" />
<KeyWord name="IO::Path::QNX" />
<KeyWord name="IO::Path::Unix" />
<KeyWord name="IO::Path::Win32" />
<KeyWord name="IO::Pipe" />
<KeyWord name="IO::Socket" />
<KeyWord name="IO::Socket::Async" />
<KeyWord name="IO::Socket::INET" />
<KeyWord name="IO::Spec" />
<KeyWord name="IO::Spec::Cygwin" />
<KeyWord name="IO::Spec::QNX" />
<KeyWord name="IO::Spec::Unix" />
<KeyWord name="IO::Spec::Win32" />
<KeyWord name="IO::Special" />
<KeyWord name="Instant" />
<KeyWord name="Int" />
<KeyWord name="IntStr" />
<KeyWord name="Iterable" />
<KeyWord name="Iterator" />
<KeyWord name="Junction" />
<KeyWord name="KEEP" />
<KeyWord name="Kernel" />
<KeyWord name="LAST" />
<KeyWord name="LEAVE" />
<KeyWord name="Label" />
<KeyWord name="List" />
<KeyWord name="Lock" />
<KeyWord name="Lock::Async" />
<KeyWord name="Macro" />
<KeyWord name="Map" />
<KeyWord name="Match" />
<KeyWord name="Method" />
<KeyWord name="Mix" />
<KeyWord name="MixHash" />
<KeyWord name="Mixy" />
<KeyWord name="Mu" />
<KeyWord name="NEXT" />
<KeyWord name="NFC" />
<KeyWord name="NFD" />
<KeyWord name="NFKC" />
<KeyWord name="NFKD" />
<KeyWord name="Nil" />
<KeyWord name="Num" />
<KeyWord name="NumStr" />
<KeyWord name="Numeric" />
<KeyWord name="ObjAt" />
<KeyWord name="Order" />
<KeyWord name="POST" />
<KeyWord name="PRE" />
<KeyWord name="Pair" />
<KeyWord name="Parameter" />
<KeyWord name="Perl" />
<KeyWord name="Pod::Block" />
<KeyWord name="Pod::Block::Code" />
<KeyWord name="Pod::Block::Comment" />
<KeyWord name="Pod::Block::Declarator" />
<KeyWord name="Pod::Block::Named" />
<KeyWord name="Pod::Block::Para" />
<KeyWord name="Pod::Block::Table" />
<KeyWord name="Pod::Defn" />
<KeyWord name="Pod::FormattingCode" />
<KeyWord name="Pod::Heading" />
<KeyWord name="Pod::Item" />
<KeyWord name="Positional" />
<KeyWord name="PositionalBindFailover" />
<KeyWord name="PredictiveIterator" />
<KeyWord name="Proc" />
<KeyWord name="Proc::Async" />
<KeyWord name="Promise" />
<KeyWord name="Proxy" />
<KeyWord name="PseudoStash" />
<KeyWord name="QuantHash" />
<KeyWord name="RaceSeq" />
<KeyWord name="Range" />
<KeyWord name="Rat" />
<KeyWord name="RatStr" />
<KeyWord name="Rational" />
<KeyWord name="Real" />
<KeyWord name="Regex" />
<KeyWord name="Routine" />
<KeyWord name="Routine::WrapHandle" />
<KeyWord name="START" />
<KeyWord name="STORE" />
<KeyWord name="Scalar" />
<KeyWord name="Scheduler" />
<KeyWord name="Semaphore" />
<KeyWord name="Seq" />
<KeyWord name="Sequence" />
<KeyWord name="Set" />
<KeyWord name="SetHash" />
<KeyWord name="Setty" />
<KeyWord name="Signature" />
<KeyWord name="Slip" />
<KeyWord name="Stash" />
<KeyWord name="Str" />
<KeyWord name="StrDistance" />
<KeyWord name="Stringy" />
<KeyWord name="Sub" />
<KeyWord name="Submethod" />
<KeyWord name="Supplier" />
<KeyWord name="Supplier::Preserving" />
<KeyWord name="Supply" />
<KeyWord name="Systemic" />
<KeyWord name="TEMP" />
<KeyWord name="Tap" />
<KeyWord name="Telemetry" />
<KeyWord name="Telemetry::Instrument::Thread" />
<KeyWord name="Telemetry::Instrument::ThreadPool" />
<KeyWord name="Telemetry::Instrument::Usage" />
<KeyWord name="Telemetry::Period" />
<KeyWord name="Telemetry::Sampler" />
<KeyWord name="Thread" />
<KeyWord name="ThreadPoolScheduler" />
<KeyWord name="UInt" />
<KeyWord name="UNDO" />
<KeyWord name="Uni" />
<KeyWord name="VM" />
<KeyWord name="ValueObjAt" />
<KeyWord name="Variable" />
<KeyWord name="Version" />
<KeyWord name="Whatever" />
<KeyWord name="WhateverCode" />
<KeyWord name="X::AdHoc" />
<KeyWord name="X::Anon::Augment" />
<KeyWord name="X::Anon::Multi" />
<KeyWord name="X::Assignment::RO" />
<KeyWord name="X::Attribute::NoPackage" />
<KeyWord name="X::Attribute::Package" />
<KeyWord name="X::Attribute::Required" />
<KeyWord name="X::Attribute::Undeclared" />
<KeyWord name="X::Augment::NoSuchType" />
<KeyWord name="X::Bind" />
<KeyWord name="X::Bind::NativeType" />
<KeyWord name="X::Bind::Slice" />
<KeyWord name="X::Caller::NotDynamic" />
<KeyWord name="X::Channel::ReceiveOnClosed" />
<KeyWord name="X::Channel::SendOnClosed" />
<KeyWord name="X::Comp" />
<KeyWord name="X::Composition::NotComposable" />
<KeyWord name="X::Constructor::Positional" />
<KeyWord name="X::Control" />
<KeyWord name="X::ControlFlow" />
<KeyWord name="X::ControlFlow::Return" />
<KeyWord name="X::DateTime::TimezoneClash" />
<KeyWord name="X::Declaration::Scope" />
<KeyWord name="X::Declaration::Scope::Multi" />
<KeyWord name="X::Does::TypeObject" />
<KeyWord name="X::Dynamic::NotFound" />
<KeyWord name="X::Eval::NoSuchLang" />
<KeyWord name="X::Export::NameClash" />
<KeyWord name="X::IO" />
<KeyWord name="X::IO::Chdir" />
<KeyWord name="X::IO::Chmod" />
<KeyWord name="X::IO::Copy" />
<KeyWord name="X::IO::Cwd" />
<KeyWord name="X::IO::Dir" />
<KeyWord name="X::IO::DoesNotExist" />
<KeyWord name="X::IO::Link" />
<KeyWord name="X::IO::Mkdir" />
<KeyWord name="X::IO::Move" />
<KeyWord name="X::IO::Rename" />
<KeyWord name="X::IO::Rmdir" />
<KeyWord name="X::IO::Symlink" />
<KeyWord name="X::IO::Unlink" />
<KeyWord name="X::Inheritance::NotComposed" />
<KeyWord name="X::Inheritance::Unsupported" />
<KeyWord name="X::Method::InvalidQualifier" />
<KeyWord name="X::Method::NotFound" />
<KeyWord name="X::Method::Private::Permission" />
<KeyWord name="X::Method::Private::Unqualified" />
<KeyWord name="X::Mixin::NotComposable" />
<KeyWord name="X::NYI" />
<KeyWord name="X::NoDispatcher" />
<KeyWord name="X::Numeric::Real" />
<KeyWord name="X::OS" />
<KeyWord name="X::Obsolete" />
<KeyWord name="X::OutOfRange" />
<KeyWord name="X::Package::Stubbed" />
<KeyWord name="X::Parameter::Default" />
<KeyWord name="X::Parameter::MultipleTypeConstraints" />
<KeyWord name="X::Parameter::Placeholder" />
<KeyWord name="X::Parameter::Twigil" />
<KeyWord name="X::Parameter::WrongOrder" />
<KeyWord name="X::Phaser::Multiple" />
<KeyWord name="X::Phaser::PrePost" />
<KeyWord name="X::Placeholder::Block" />
<KeyWord name="X::Placeholder::Mainline" />
<KeyWord name="X::Pod" />
<KeyWord name="X::Proc::Async" />
<KeyWord name="X::Proc::Async::AlreadyStarted" />
<KeyWord name="X::Proc::Async::BindOrUse" />
<KeyWord name="X::Proc::Async::CharsOrBytes" />
<KeyWord name="X::Proc::Async::MustBeStarted" />
<KeyWord name="X::Proc::Async::OpenForWriting" />
<KeyWord name="X::Proc::Async::TapBeforeSpawn" />
<KeyWord name="X::Proc::Unsuccessful" />
<KeyWord name="X::Promise::CauseOnlyValidOnBroken" />
<KeyWord name="X::Promise::Vowed" />
<KeyWord name="X::Redeclaration" />
<KeyWord name="X::Role::Initialization" />
<KeyWord name="X::Scheduler::CueInNaNSeconds" />
<KeyWord name="X::Seq::Consumed" />
<KeyWord name="X::Sequence::Deduction" />
<KeyWord name="X::Signature::NameClash" />
<KeyWord name="X::Signature::Placeholder" />
<KeyWord name="X::Str::Numeric" />
<KeyWord name="X::StubCode" />
<KeyWord name="X::Syntax" />
<KeyWord name="X::Syntax::Augment::WithoutMonkeyTyping" />
<KeyWord name="X::Syntax::Comment::Embedded" />
<KeyWord name="X::Syntax::Confused" />
<KeyWord name="X::Syntax::InfixInTermPosition" />
<KeyWord name="X::Syntax::Malformed" />
<KeyWord name="X::Syntax::Missing" />
<KeyWord name="X::Syntax::NegatedPair" />
<KeyWord name="X::Syntax::NoSelf" />
<KeyWord name="X::Syntax::Number::RadixOutOfRange" />
<KeyWord name="X::Syntax::P5" />
<KeyWord name="X::Syntax::Perl5Var" />
<KeyWord name="X::Syntax::Regex::Adverb" />
<KeyWord name="X::Syntax::Regex::SolitaryQuantifier" />
<KeyWord name="X::Syntax::Reserved" />
<KeyWord name="X::Syntax::Self::WithoutObject" />
<KeyWord name="X::Syntax::Signature::InvocantMarker" />
<KeyWord name="X::Syntax::Term::MissingInitializer" />
<KeyWord name="X::Syntax::UnlessElse" />
<KeyWord name="X::Syntax::Variable::Match" />
<KeyWord name="X::Syntax::Variable::Numeric" />
<KeyWord name="X::Syntax::Variable::Twigil" />
<KeyWord name="X::Temporal" />
<KeyWord name="X::Temporal::InvalidFormat" />
<KeyWord name="X::TypeCheck" />
<KeyWord name="X::TypeCheck::Assignment" />
<KeyWord name="X::TypeCheck::Binding" />
<KeyWord name="X::TypeCheck::Return" />
<KeyWord name="X::TypeCheck::Splice" />
<KeyWord name="X::Undeclared" />
<KeyWord name="a" />
<KeyWord name="abs" />
<KeyWord name="accept" />
<KeyWord name="acos" />
<KeyWord name="acosec" />
<KeyWord name="acosech" />
<KeyWord name="acosh" />
<KeyWord name="acotan" />
<KeyWord name="acotanh" />
<KeyWord name="after" />
<KeyWord name="alarm" />
<KeyWord name="also" />
<KeyWord name="and" />
<KeyWord name="andthen" />
<KeyWord name="antipairs" />
<KeyWord name="array" />
<KeyWord name="as" />
<KeyWord name="asec" />
<KeyWord name="asech" />
<KeyWord name="asin" />
<KeyWord name="asinh" />
<KeyWord name="async" />
<KeyWord name="atan" />
<KeyWord name="atan2" />
<KeyWord name="atanh" />
<KeyWord name="atomicint" />
<KeyWord name="augment" />
<KeyWord name="b" />
<KeyWord name="backslash" />
<KeyWord name="bag" />
<KeyWord name="base" />
<KeyWord name="before" />
<KeyWord name="bind" />
<KeyWord name="binmode" />
<KeyWord name="bit" />
<KeyWord name="bless" />
<KeyWord name="bool" />
<KeyWord name="break" />
<KeyWord name="buf" />
<KeyWord name="buf1" />
<KeyWord name="buf16" />
<KeyWord name="buf2" />
<KeyWord name="buf32" />
<KeyWord name="buf4" />
<KeyWord name="buf64" />
<KeyWord name="buf8" />
<KeyWord name="but" />
<KeyWord name="c" />
<KeyWord name="caller" />
<KeyWord name="category" />
<KeyWord name="ceiling" />
<KeyWord name="chars" />
<KeyWord name="chdir" />
<KeyWord name="chmod" />
<KeyWord name="chomp" />
<KeyWord name="chop" />
<KeyWord name="chr" />
<KeyWord name="chroot" />
<KeyWord name="chrs" />
<KeyWord name="circumfix" />
<KeyWord name="cis" />
<KeyWord name="class" />
<KeyWord name="close" />
<KeyWord name="closedir" />
<KeyWord name="closure" />
<KeyWord name="cmp" />
<KeyWord name="codes" />
<KeyWord name="comb" />
<KeyWord name="complex" />
<KeyWord name="conj" />
<KeyWord name="connect" />
<KeyWord name="constant" />
<KeyWord name="contains" />
<KeyWord name="contend" />
<KeyWord name="continue" />
<KeyWord name="cos" />
<KeyWord name="cosec" />
<KeyWord name="cosech" />
<KeyWord name="cosh" />
<KeyWord name="cotan" />
<KeyWord name="cotanh" />
<KeyWord name="crypt" />
<KeyWord name="dbm" />
<KeyWord name="default" />
<KeyWord name="defer" />
<KeyWord name="defined" />
<KeyWord name="delete" />
<KeyWord name="die" />
<KeyWord name="div" />
<KeyWord name="do" />
<KeyWord name="does" />
<KeyWord name="double" />
<KeyWord name="dump" />
<KeyWord name="dynamic" />
<KeyWord name="each" />
<KeyWord name="elems" />
<KeyWord name="else" />
<KeyWord name="elsif" />
<KeyWord name="enum" />
<KeyWord name="eof" />
<KeyWord name="eq" />
<KeyWord name="eqv" />
<KeyWord name="exec" />
<KeyWord name="exec" />
<KeyWord name="exists" />
<KeyWord name="exists" />
<KeyWord name="exit" />
<KeyWord name="exp" />
<KeyWord name="expmod" />
<KeyWord name="extra" />
<KeyWord name="f" />
<KeyWord name="fail" />
<KeyWord name="fatal" />
<KeyWord name="fc" />
<KeyWord name="fcntl" />
<KeyWord name="ff" />
<KeyWord name="fff" />
<KeyWord name="fileno" />
<KeyWord name="flat" />
<KeyWord name="flip" />
<KeyWord name="flock" />
<KeyWord name="floor" />
<KeyWord name="fmt" />
<KeyWord name="for" />
<KeyWord name="fork" />
<KeyWord name="formats" />
<KeyWord name="function" />
<KeyWord name="functions" />
<KeyWord name="gather" />
<KeyWord name="gcd" />
<KeyWord name="ge" />
<KeyWord name="get" />
<KeyWord name="getc" />
<KeyWord name="getpeername" />
<KeyWord name="getpgrp" />
<KeyWord name="getppid" />
<KeyWord name="getpriority" />
<KeyWord name="getsock" />
<KeyWord name="gist" />
<KeyWord name="given" />
<KeyWord name="glob" />
<KeyWord name="gmtime" />
<KeyWord name="goto" />
<KeyWord name="grammar" />
<KeyWord name="grep" />
<KeyWord name="gt" />
<KeyWord name="h" />
<KeyWord name="handles" />
<KeyWord name="has" />
<KeyWord name="hash" />
<KeyWord name="heredoc" />
<KeyWord name="hyper" />
<KeyWord name="if" />
<KeyWord name="import" />
<KeyWord name="index" />
<KeyWord name="infix" />
<KeyWord name="int" />
<KeyWord name="int" />
<KeyWord name="int1" />
<KeyWord name="int16" />
<KeyWord name="int2" />
<KeyWord name="int32" />
<KeyWord name="int4" />
<KeyWord name="int64" />
<KeyWord name="int8" />
<KeyWord name="invert" />
<KeyWord name="ioctl" />
<KeyWord name="is" />
<KeyWord name="is-prime" />
<KeyWord name="iterator" />
<KeyWord name="join" />
<KeyWord name="k" />
<KeyWord name="keyof" />
<KeyWord name="keys" />
<KeyWord name="kill" />
<KeyWord name="kv" />
<KeyWord name="kv" />
<KeyWord name="last" />
<KeyWord name="lazy" />
<KeyWord name="lc" />
<KeyWord name="lcfirst" />
<KeyWord name="lcm" />
<KeyWord name="le" />
<KeyWord name="leave" />
<KeyWord name="leg" />
<KeyWord name="let" />
<KeyWord name="lift" />
<KeyWord name="lines" />
<KeyWord name="link" />
<KeyWord name="list" />
<KeyWord name="listen" />
<KeyWord name="local" />
<KeyWord name="localtime" />
<KeyWord name="lock" />
<KeyWord name="log" />
<KeyWord name="log10" />
<KeyWord name="long" />
<KeyWord name="longlong" />
<KeyWord name="loop" />
<KeyWord name="lsb" />
<KeyWord name="lstat" />
<KeyWord name="lt" />
<KeyWord name="macro" />
<KeyWord name="make" />
<KeyWord name="map" />
<KeyWord name="match" />
<KeyWord name="maybe" />
<KeyWord name="method" />
<KeyWord name="mix" />
<KeyWord name="mkdir" />
<KeyWord name="mod" />
<KeyWord name="module" />
<KeyWord name="msb" />
<KeyWord name="msg" />
<KeyWord name="multi" />
<KeyWord name="my" />
<KeyWord name="narrow" />
<KeyWord name="ne" />
<KeyWord name="new" />
<KeyWord name="next" />
<KeyWord name="no" />
<KeyWord name="not" />
<KeyWord name="num" />
<KeyWord name="num32" />
<KeyWord name="num64" />
<KeyWord name="o" />
<KeyWord name="of" />
<KeyWord name="only" />
<KeyWord name="oo" />
<KeyWord name="open" />
<KeyWord name="or" />
<KeyWord name="ord" />
<KeyWord name="ords" />
<KeyWord name="orelse" />
<KeyWord name="orwith" />
<KeyWord name="our" />
<KeyWord name="p" />
<KeyWord name="pack" />
<KeyWord name="package" />
<KeyWord name="pairs" />
<KeyWord name="path" />
<KeyWord name="pick" />
<KeyWord name="pipe" />
<KeyWord name="polymod" />
<KeyWord name="pop" />
<KeyWord name="pos" />
<KeyWord name="postcircumfix" />
<KeyWord name="postfix" />
<KeyWord name="pred" />
<KeyWord name="prefix" />
<KeyWord name="print" />
<KeyWord name="printf" />
<KeyWord name="proto" />
<KeyWord name="prototype" />
<KeyWord name="push" />
<KeyWord name="q" />
<KeyWord name="qq" />
<KeyWord name="quotewords" />
<KeyWord name="quoting" />
<KeyWord name="race" />
<KeyWord name="rand" />
<KeyWord name="rat" />
<KeyWord name="rat1" />
<KeyWord name="rat16" />
<KeyWord name="rat2" />
<KeyWord name="rat32" />
<KeyWord name="rat4" />
<KeyWord name="rat64" />
<KeyWord name="rat8" />
<KeyWord name="read" />
<KeyWord name="readdir" />
<KeyWord name="readline" />
<KeyWord name="readlink" />
<KeyWord name="readpipe" />
<KeyWord name="recv" />
<KeyWord name="redo" />
<KeyWord name="ref" />
<KeyWord name="regex" />
<KeyWord name="rename" />
<KeyWord name="repeat" />
<KeyWord name="require" />
<KeyWord name="requires" />
<KeyWord name="reset" />
<KeyWord name="return" />
<KeyWord name="return-rw" />
<KeyWord name="returns" />
<KeyWord name="reverse" />
<KeyWord name="rewinddir" />
<KeyWord name="rindex" />
<KeyWord name="rmdir" />
<KeyWord name="role" />
<KeyWord name="roots" />
<KeyWord name="round" />
<KeyWord name="rule" />
<KeyWord name="s" />
<KeyWord name="samecase" />
<KeyWord name="say" />
<KeyWord name="scalar" />
<KeyWord name="scalar" />
<KeyWord name="sec" />
<KeyWord name="sech" />
<KeyWord name="seek" />
<KeyWord name="seekdir" />
<KeyWord name="select" />
<KeyWord name="semctl" />
<KeyWord name="semget" />
<KeyWord name="semop" />
<KeyWord name="send" />
<KeyWord name="set" />
<KeyWord name="setpgrp" />
<KeyWord name="setpriority" />
<KeyWord name="setsockopt" />
<KeyWord name="shift" />
<KeyWord name="shm" />
<KeyWord name="shutdown" />
<KeyWord name="sign" />
<KeyWord name="sin" />
<KeyWord name="single" />
<KeyWord name="sinh" />
<KeyWord name="size_t" />
<KeyWord name="slang" />
<KeyWord name="sleep" />
<KeyWord name="sockets" />
<KeyWord name="sort" />
<KeyWord name="splice" />
<KeyWord name="split" />
<KeyWord name="sprintf" />
<KeyWord name="sqrt" />
<KeyWord name="srand" />
<KeyWord name="start" />
<KeyWord name="stat" />
<KeyWord name="state" />
<KeyWord name="str" />
<KeyWord name="study" />
<KeyWord name="sub" />
<KeyWord name="submethod" />
<KeyWord name="subset" />
<KeyWord name="subst" />
<KeyWord name="substr" />
<KeyWord name="substr-rw" />
<KeyWord name="succ" />
<KeyWord name="supersede" />
<KeyWord name="sym" />
<KeyWord name="symlink" />
<KeyWord name="sys" />
<KeyWord name="syscall" />
<KeyWord name="system" />
<KeyWord name="syswrite" />
<KeyWord name="take" />
<KeyWord name="tan" />
<KeyWord name="tanh" />
<KeyWord name="tc" />
<KeyWord name="tclc" />
<KeyWord name="tell" />
<KeyWord name="telldir" />
<KeyWord name="temp" />
<KeyWord name="term" />
<KeyWord name="tie" />
<KeyWord name="time" />
<KeyWord name="times" />
<KeyWord name="to" />
<KeyWord name="token" />
<KeyWord name="trans" />
<KeyWord name="trim" />
<KeyWord name="trim-leading" />
<KeyWord name="trim-trailing" />
<KeyWord name="truncate" />
<KeyWord name="trusts" />
<KeyWord name="try" />
<KeyWord name="uc" />
<KeyWord name="ucfirst" />
<KeyWord name="uint" />
<KeyWord name="uint1" />
<KeyWord name="uint16" />
<KeyWord name="uint2" />
<KeyWord name="uint32" />
<KeyWord name="uint4" />
<KeyWord name="uint64" />
<KeyWord name="uint8" />
<KeyWord name="unimatch" />
<KeyWord name="uniname" />
<KeyWord name="uninames" />
<KeyWord name="uniprop" />
<KeyWord name="uniprops" />
<KeyWord name="unit" />
<KeyWord name="unival" />
<KeyWord name="unless" />
<KeyWord name="unlink" />
<KeyWord name="unpack" />
<KeyWord name="unpolar" />
<KeyWord name="unshift" />
<KeyWord name="untie" />
<KeyWord name="until" />
<KeyWord name="use" />
<KeyWord name="utf16" />
<KeyWord name="utf32" />
<KeyWord name="utf8" />
<KeyWord name="utf8" />
<KeyWord name="utime" />
<KeyWord name="v" />
<KeyWord name="val" />
<KeyWord name="values" />
<KeyWord name="w" />
<KeyWord name="wait" />
<KeyWord name="waitpid" />
<KeyWord name="wantarray" />
<KeyWord name="warn" />
<KeyWord name="when" />
<KeyWord name="where" />
<KeyWord name="while" />
<KeyWord name="with" />
<KeyWord name="without" />
<KeyWord name="wordcase" />
<KeyWord name="words" />
<KeyWord name="words" />
<KeyWord name="write" />
<KeyWord name="ww" />
<KeyWord name="x" />
<KeyWord name="x" />
<KeyWord name="xor" />
<KeyWord name="xx" />
</AutoComplete>
</NotepadPlus>

View File

@ -1,715 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<NotepadPlus>
<AutoComplete>
<Environment ignoreCase="yes" startFunc="(" stopFunc=")" paramSeparator="," terminal=";" />
<KeyWord name="abort" />
<KeyWord name="abs" />
<KeyWord name="addrlong" />
<KeyWord name="airy" />
<KeyWord name="allcomb" />
<KeyWord name="allcombi" />
<KeyWord name="allperm" />
<KeyWord name="anyalnum" />
<KeyWord name="anyalpha" />
<KeyWord name="anycntrl" />
<KeyWord name="anydigit" />
<KeyWord name="anyfirst" />
<KeyWord name="anygraph" />
<KeyWord name="anylower" />
<KeyWord name="anyname" />
<KeyWord name="anyprint" />
<KeyWord name="anypunct" />
<KeyWord name="anyspace" />
<KeyWord name="anyupper" />
<KeyWord name="anyxdigit" />
<KeyWord name="arcos" />
<KeyWord name="arcosh" />
<KeyWord name="array" />
<KeyWord name="arsin" />
<KeyWord name="arsinh" />
<KeyWord name="artanh" />
<KeyWord name="atan" />
<KeyWord name="atan2" />
<KeyWord name="attrc" />
<KeyWord name="attrib" />
<KeyWord name="attrn" />
<KeyWord name="band" />
<KeyWord name="beta" />
<KeyWord name="betainv" />
<KeyWord name="bhamming_32" />
<KeyWord name="bhamming_hex" />
<KeyWord name="blackclprc" />
<KeyWord name="blackptprc" />
<KeyWord name="blkshclprc" />
<KeyWord name="blkshptprc" />
<KeyWord name="blshift" />
<KeyWord name="bnot" />
<KeyWord name="bor" />
<KeyWord name="bquote" />
<KeyWord name="brshift" />
<KeyWord name="bxor" />
<KeyWord name="by" />
<KeyWord name="byte" />
<KeyWord name="call" />
<KeyWord name="cards" />
<KeyWord name="cards4" />
<KeyWord name="cat" />
<KeyWord name="catname" />
<KeyWord name="catq" />
<KeyWord name="cats" />
<KeyWord name="catt" />
<KeyWord name="catx" />
<KeyWord name="cdf" />
<KeyWord name="ceil" />
<KeyWord name="ceilz" />
<KeyWord name="cexist" />
<KeyWord name="char" />
<KeyWord name="checkpoint" />
<KeyWord name="choosec" />
<KeyWord name="choosen" />
<KeyWord name="cinv" />
<KeyWord name="clibexist" />
<KeyWord name="close" />
<KeyWord name="cmiss" />
<KeyWord name="cnonct" />
<KeyWord name="coalesce" />
<KeyWord name="coalescec" />
<KeyWord name="collate" />
<KeyWord name="comb" />
<KeyWord name="comment" />
<KeyWord name="compare" />
<KeyWord name="compbl" />
<KeyWord name="compcost" />
<KeyWord name="compfuzz" />
<KeyWord name="compfuzz_miss" />
<KeyWord name="compged" />
<KeyWord name="complev" />
<KeyWord name="compound" />
<KeyWord name="compress" />
<KeyWord name="compsrv_oval" />
<KeyWord name="compsrv_unquote2" />
<KeyWord name="constant" />
<KeyWord name="continue" />
<KeyWord name="convx" />
<KeyWord name="convxp" />
<KeyWord name="copy" />
<KeyWord name="cos" />
<KeyWord name="cosh" />
<KeyWord name="cot" />
<KeyWord name="count" />
<KeyWord name="countc" />
<KeyWord name="countw" />
<KeyWord name="csc" />
<KeyWord name="css" />
<KeyWord name="cumipmt" />
<KeyWord name="cumprinc" />
<KeyWord name="curobs" />
<KeyWord name="cv" />
<KeyWord name="daccdb" />
<KeyWord name="daccdbsl" />
<KeyWord name="daccsl" />
<KeyWord name="daccsyd" />
<KeyWord name="dacctab" />
<KeyWord name="dairy" />
<KeyWord name="data" />
<KeyWord name="datalines" />
<KeyWord name="datalines4" />
<KeyWord name="datdif" />
<KeyWord name="date" />
<KeyWord name="datejul" />
<KeyWord name="datepart" />
<KeyWord name="datetime" />
<KeyWord name="day" />
<KeyWord name="dclose" />
<KeyWord name="dcreate" />
<KeyWord name="delete" />
<KeyWord name="depdb" />
<KeyWord name="depdbsl" />
<KeyWord name="depsl" />
<KeyWord name="depsyd" />
<KeyWord name="deptab" />
<KeyWord name="dequote" />
<KeyWord name="describe" />
<KeyWord name="deviance" />
<KeyWord name="dhms" />
<KeyWord name="dif" />
<KeyWord name="digamma" />
<KeyWord name="dim" />
<KeyWord name="dinfo" />
<KeyWord name="display" />
<KeyWord name="divide" />
<KeyWord name="dlgcdir" />
<KeyWord name="dm" />
<KeyWord name="dnum" />
<KeyWord name="do" />
<KeyWord name="dopen" />
<KeyWord name="doptname" />
<KeyWord name="doptnum" />
<KeyWord name="dosubl" />
<KeyWord name="dread" />
<KeyWord name="drop" />
<KeyWord name="dropnote" />
<KeyWord name="dsname" />
<KeyWord name="dur" />
<KeyWord name="durp" />
<KeyWord name="effrate" />
<KeyWord name="else" />
<KeyWord name="end" />
<KeyWord name="endsas" />
<KeyWord name="envlen" />
<KeyWord name="erf" />
<KeyWord name="erfc" />
<KeyWord name="error" />
<KeyWord name="euclid" />
<KeyWord name="eval" />
<KeyWord name="execute" />
<KeyWord name="execute_always" />
<KeyWord name="exist" />
<KeyWord name="exp" />
<KeyWord name="expm1" />
<KeyWord name="fact" />
<KeyWord name="fappend" />
<KeyWord name="fclose" />
<KeyWord name="fcol" />
<KeyWord name="fcopy" />
<KeyWord name="fdelete" />
<KeyWord name="fetch" />
<KeyWord name="fetchobs" />
<KeyWord name="fexist" />
<KeyWord name="fget" />
<KeyWord name="file" />
<KeyWord name="fileexist" />
<KeyWord name="filename" />
<KeyWord name="fileref" />
<KeyWord name="finance" />
<KeyWord name="find" />
<KeyWord name="findc" />
<KeyWord name="findw" />
<KeyWord name="finfo" />
<KeyWord name="finv" />
<KeyWord name="fipname" />
<KeyWord name="fipnamel" />
<KeyWord name="fipstate" />
<KeyWord name="first" />
<KeyWord name="floor" />
<KeyWord name="floorz" />
<KeyWord name="fmtinfo" />
<KeyWord name="fnonct" />
<KeyWord name="fnote" />
<KeyWord name="footnote" />
<KeyWord name="fopen" />
<KeyWord name="foptname" />
<KeyWord name="foptnum" />
<KeyWord name="format" />
<KeyWord name="fpoint" />
<KeyWord name="fpos" />
<KeyWord name="fput" />
<KeyWord name="fread" />
<KeyWord name="frewind" />
<KeyWord name="frlen" />
<KeyWord name="fsep" />
<KeyWord name="fuzz" />
<KeyWord name="fwrite" />
<KeyWord name="gaminv" />
<KeyWord name="gamma" />
<KeyWord name="garkhclprc" />
<KeyWord name="garkhptprc" />
<KeyWord name="gcd" />
<KeyWord name="geodist" />
<KeyWord name="geomean" />
<KeyWord name="geomeanz" />
<KeyWord name="getcasurl" />
<KeyWord name="getlcaslib" />
<KeyWord name="getlsessref" />
<KeyWord name="getltag" />
<KeyWord name="getoption" />
<KeyWord name="getsessopt" />
<KeyWord name="getvarc" />
<KeyWord name="getvarn" />
<KeyWord name="git_branch_chkout" />
<KeyWord name="git_branch_delete" />
<KeyWord name="git_branch_merge" />
<KeyWord name="git_branch_new" />
<KeyWord name="git_clone" />
<KeyWord name="git_commit" />
<KeyWord name="git_commit_free" />
<KeyWord name="git_commit_get" />
<KeyWord name="git_commit_log" />
<KeyWord name="git_delete_repo" />
<KeyWord name="git_diff" />
<KeyWord name="git_diff_file_idx" />
<KeyWord name="git_diff_free" />
<KeyWord name="git_diff_get" />
<KeyWord name="git_diff_to_file" />
<KeyWord name="git_fetch" />
<KeyWord name="git_index_add" />
<KeyWord name="git_index_remove" />
<KeyWord name="git_init_repo" />
<KeyWord name="git_pull" />
<KeyWord name="git_push" />
<KeyWord name="git_rebase" />
<KeyWord name="git_rebase_op" />
<KeyWord name="git_ref_free" />
<KeyWord name="git_ref_get" />
<KeyWord name="git_ref_list" />
<KeyWord name="git_reset" />
<KeyWord name="git_reset_file" />
<KeyWord name="git_set_url" />
<KeyWord name="git_stash" />
<KeyWord name="git_stash_apply" />
<KeyWord name="git_stash_drop" />
<KeyWord name="git_stash_pop" />
<KeyWord name="git_status" />
<KeyWord name="git_status_free" />
<KeyWord name="git_status_get" />
<KeyWord name="git_version" />
<KeyWord name="gitfn_clone" />
<KeyWord name="gitfn_co_branch" />
<KeyWord name="gitfn_commit" />
<KeyWord name="gitfn_commit_get" />
<KeyWord name="gitfn_commit_log" />
<KeyWord name="gitfn_commitfree" />
<KeyWord name="gitfn_del_branch" />
<KeyWord name="gitfn_del_repo" />
<KeyWord name="gitfn_diff" />
<KeyWord name="gitfn_diff_free" />
<KeyWord name="gitfn_diff_get" />
<KeyWord name="gitfn_diff_idx_f" />
<KeyWord name="gitfn_idx_add" />
<KeyWord name="gitfn_idx_remove" />
<KeyWord name="gitfn_mrg_branch" />
<KeyWord name="gitfn_new_branch" />
<KeyWord name="gitfn_pull" />
<KeyWord name="gitfn_push" />
<KeyWord name="gitfn_reset" />
<KeyWord name="gitfn_reset_file" />
<KeyWord name="gitfn_status" />
<KeyWord name="gitfn_status_get" />
<KeyWord name="gitfn_statusfree" />
<KeyWord name="gitfn_version" />
<KeyWord name="global" />
<KeyWord name="go" />
<KeyWord name="goto" />
<KeyWord name="graycode" />
<KeyWord name="harmean" />
<KeyWord name="harmeanz" />
<KeyWord name="hash_fast_hex" />
<KeyWord name="hash_xx_hex" />
<KeyWord name="hashing" />
<KeyWord name="hashing_file" />
<KeyWord name="hashing_hmac" />
<KeyWord name="hashing_hmac_file" />
<KeyWord name="hashing_hmac_init" />
<KeyWord name="hashing_init" />
<KeyWord name="hashing_part" />
<KeyWord name="hashing_term" />
<KeyWord name="hbound" />
<KeyWord name="hms" />
<KeyWord name="holiday" />
<KeyWord name="holidayck" />
<KeyWord name="holidaycount" />
<KeyWord name="holidayname" />
<KeyWord name="holidaynx" />
<KeyWord name="holidayny" />
<KeyWord name="holidaytest" />
<KeyWord name="hour" />
<KeyWord name="htmldecode" />
<KeyWord name="htmlencode" />
<KeyWord name="ibessel" />
<KeyWord name="if" />
<KeyWord name="ifc" />
<KeyWord name="ifn" />
<KeyWord name="include" />
<KeyWord name="index" />
<KeyWord name="indexc" />
<KeyWord name="indexw" />
<KeyWord name="infile" />
<KeyWord name="informat" />
<KeyWord name="input" />
<KeyWord name="inputc" />
<KeyWord name="inputn" />
<KeyWord name="int" />
<KeyWord name="intcindex" />
<KeyWord name="intck" />
<KeyWord name="intcycle" />
<KeyWord name="intfit" />
<KeyWord name="intfmt" />
<KeyWord name="intget" />
<KeyWord name="intindex" />
<KeyWord name="intnx" />
<KeyWord name="intrr" />
<KeyWord name="intseas" />
<KeyWord name="intshift" />
<KeyWord name="inttest" />
<KeyWord name="intz" />
<KeyWord name="iorcmsg" />
<KeyWord name="ipmt" />
<KeyWord name="iqr" />
<KeyWord name="irr" />
<KeyWord name="is8601_convert" />
<KeyWord name="jbessel" />
<KeyWord name="jsonpp" />
<KeyWord name="juldate" />
<KeyWord name="juldate7" />
<KeyWord name="kcmpres" />
<KeyWord name="keep" />
<KeyWord name="kindex" />
<KeyWord name="kleft" />
<KeyWord name="klength" />
<KeyWord name="kscan" />
<KeyWord name="ksubstr" />
<KeyWord name="kupcase" />
<KeyWord name="kurtosis" />
<KeyWord name="label" />
<KeyWord name="lag" />
<KeyWord name="largest" />
<KeyWord name="lbound" />
<KeyWord name="lcm" />
<KeyWord name="lcomb" />
<KeyWord name="leave" />
<KeyWord name="left" />
<KeyWord name="length" />
<KeyWord name="lengthc" />
<KeyWord name="lengthm" />
<KeyWord name="lengthn" />
<KeyWord name="let" />
<KeyWord name="lexcomb" />
<KeyWord name="lexcombi" />
<KeyWord name="lexperk" />
<KeyWord name="lexperm" />
<KeyWord name="lfact" />
<KeyWord name="lgamma" />
<KeyWord name="libname" />
<KeyWord name="libref" />
<KeyWord name="link" />
<KeyWord name="list" />
<KeyWord name="local" />
<KeyWord name="lock" />
<KeyWord name="lockdown" />
<KeyWord name="log" />
<KeyWord name="log10" />
<KeyWord name="log1px" />
<KeyWord name="log2" />
<KeyWord name="logbeta" />
<KeyWord name="logcdf" />
<KeyWord name="logistic" />
<KeyWord name="logpdf" />
<KeyWord name="logsdf" />
<KeyWord name="lostcard" />
<KeyWord name="lowcase" />
<KeyWord name="lperm" />
<KeyWord name="lpnorm" />
<KeyWord name="macro" />
<KeyWord name="mad" />
<KeyWord name="margrclprc" />
<KeyWord name="margrptprc" />
<KeyWord name="max" />
<KeyWord name="md5" />
<KeyWord name="mdy" />
<KeyWord name="mean" />
<KeyWord name="median" />
<KeyWord name="mend" />
<KeyWord name="merge" />
<KeyWord name="min" />
<KeyWord name="minute" />
<KeyWord name="missing" />
<KeyWord name="mod" />
<KeyWord name="modexist" />
<KeyWord name="modify" />
<KeyWord name="module" />
<KeyWord name="modulec" />
<KeyWord name="modulen" />
<KeyWord name="modz" />
<KeyWord name="month" />
<KeyWord name="mopen" />
<KeyWord name="mort" />
<KeyWord name="msplint" />
<KeyWord name="mvalid" />
<KeyWord name="n" />
<KeyWord name="netpv" />
<KeyWord name="nliteral" />
<KeyWord name="nmiss" />
<KeyWord name="nomrate" />
<KeyWord name="normal" />
<KeyWord name="notalnum" />
<KeyWord name="notalpha" />
<KeyWord name="notcntrl" />
<KeyWord name="notdigit" />
<KeyWord name="note" />
<KeyWord name="notfirst" />
<KeyWord name="notgraph" />
<KeyWord name="notlower" />
<KeyWord name="notname" />
<KeyWord name="notprint" />
<KeyWord name="notpunct" />
<KeyWord name="notspace" />
<KeyWord name="notupper" />
<KeyWord name="notxdigit" />
<KeyWord name="npv" />
<KeyWord name="nrbquote" />
<KeyWord name="nrquote" />
<KeyWord name="nrstr" />
<KeyWord name="null" />
<KeyWord name="nvalid" />
<KeyWord name="nwkdom" />
<KeyWord name="open" />
<KeyWord name="options" />
<KeyWord name="ordinal" />
<KeyWord name="output" />
<KeyWord name="page" />
<KeyWord name="pathname" />
<KeyWord name="pctl" />
<KeyWord name="pdf" />
<KeyWord name="peekclong" />
<KeyWord name="peeklong" />
<KeyWord name="perm" />
<KeyWord name="pmt" />
<KeyWord name="point" />
<KeyWord name="poisson" />
<KeyWord name="pokelong" />
<KeyWord name="ppmt" />
<KeyWord name="probbeta" />
<KeyWord name="probbnml" />
<KeyWord name="probbnrm" />
<KeyWord name="probchi" />
<KeyWord name="probf" />
<KeyWord name="probgam" />
<KeyWord name="probhypr" />
<KeyWord name="probit" />
<KeyWord name="probmc" />
<KeyWord name="probmed" />
<KeyWord name="probnegb" />
<KeyWord name="probnorm" />
<KeyWord name="probt" />
<KeyWord name="propcase" />
<KeyWord name="prxchange" />
<KeyWord name="prxdebug" />
<KeyWord name="prxfree" />
<KeyWord name="prxmatch" />
<KeyWord name="prxnext" />
<KeyWord name="prxparen" />
<KeyWord name="prxparse" />
<KeyWord name="prxposn" />
<KeyWord name="prxsubstr" />
<KeyWord name="ptrlongadd" />
<KeyWord name="put" />
<KeyWord name="putc" />
<KeyWord name="putlog" />
<KeyWord name="putn" />
<KeyWord name="pvp" />
<KeyWord name="qkleft" />
<KeyWord name="qkscan" />
<KeyWord name="qksubstr" />
<KeyWord name="qkupcase" />
<KeyWord name="qscan" />
<KeyWord name="qsubstr" />
<KeyWord name="qsysfunc" />
<KeyWord name="qtr" />
<KeyWord name="quantile" />
<KeyWord name="quote" />
<KeyWord name="qupcase" />
<KeyWord name="ranbin" />
<KeyWord name="rancau" />
<KeyWord name="rancomb" />
<KeyWord name="rand" />
<KeyWord name="randperm" />
<KeyWord name="ranexp" />
<KeyWord name="rangam" />
<KeyWord name="range" />
<KeyWord name="rank" />
<KeyWord name="rannor" />
<KeyWord name="ranperk" />
<KeyWord name="ranperm" />
<KeyWord name="ranpoi" />
<KeyWord name="rantbl" />
<KeyWord name="rantri" />
<KeyWord name="ranuni" />
<KeyWord name="redirect" />
<KeyWord name="remove" />
<KeyWord name="rename" />
<KeyWord name="repeat" />
<KeyWord name="replace" />
<KeyWord name="resetline" />
<KeyWord name="resolve" />
<KeyWord name="retain" />
<KeyWord name="return" />
<KeyWord name="reverse" />
<KeyWord name="rewind" />
<KeyWord name="right" />
<KeyWord name="rms" />
<KeyWord name="round" />
<KeyWord name="rounde" />
<KeyWord name="roundz" />
<KeyWord name="run" />
<KeyWord name="sasfile" />
<KeyWord name="saving" />
<KeyWord name="savings" />
<KeyWord name="scan" />
<KeyWord name="sdf" />
<KeyWord name="sec" />
<KeyWord name="second" />
<KeyWord name="select" />
<KeyWord name="sessbusy" />
<KeyWord name="sessfound" />
<KeyWord name="set" />
<KeyWord name="sha256" />
<KeyWord name="sha256hex" />
<KeyWord name="sha256hmachex" />
<KeyWord name="sign" />
<KeyWord name="sin" />
<KeyWord name="sinh" />
<KeyWord name="skewness" />
<KeyWord name="skip" />
<KeyWord name="sleep" />
<KeyWord name="smallest" />
<KeyWord name="softmax" />
<KeyWord name="sort" />
<KeyWord name="sortc" />
<KeyWord name="sortn" />
<KeyWord name="soundex" />
<KeyWord name="spedis" />
<KeyWord name="sqrt" />
<KeyWord name="squantile" />
<KeyWord name="std" />
<KeyWord name="stderr" />
<KeyWord name="stdize" />
<KeyWord name="stfips" />
<KeyWord name="stname" />
<KeyWord name="stnamel" />
<KeyWord name="stop" />
<KeyWord name="str" />
<KeyWord name="stream" />
<KeyWord name="streaminit" />
<KeyWord name="streamrewind" />
<KeyWord name="strip" />
<KeyWord name="subpad" />
<KeyWord name="substr" />
<KeyWord name="substrn" />
<KeyWord name="sum" />
<KeyWord name="sumabs" />
<KeyWord name="superq" />
<KeyWord name="symdel" />
<KeyWord name="symexist" />
<KeyWord name="symget" />
<KeyWord name="symglobl" />
<KeyWord name="symlocal" />
<KeyWord name="symput" />
<KeyWord name="symputx" />
<KeyWord name="syscall" />
<KeyWord name="sysecho" />
<KeyWord name="sysevalf" />
<KeyWord name="sysexec" />
<KeyWord name="sysexist" />
<KeyWord name="sysfunc" />
<KeyWord name="sysget" />
<KeyWord name="syslput" />
<KeyWord name="sysmacdelete" />
<KeyWord name="sysmacexec" />
<KeyWord name="sysmacexist" />
<KeyWord name="sysmexecdepth" />
<KeyWord name="sysmexecname" />
<KeyWord name="sysmsg" />
<KeyWord name="sysmstoreclear" />
<KeyWord name="sysparm" />
<KeyWord name="sysprocessid" />
<KeyWord name="sysprocessname" />
<KeyWord name="sysprod" />
<KeyWord name="sysrc" />
<KeyWord name="sysrput" />
<KeyWord name="systask" />
<KeyWord name="system" />
<KeyWord name="tan" />
<KeyWord name="tanh" />
<KeyWord name="then" />
<KeyWord name="time" />
<KeyWord name="timepart" />
<KeyWord name="timevalue" />
<KeyWord name="tinv" />
<KeyWord name="title" />
<KeyWord name="tnonct" />
<KeyWord name="to" />
<KeyWord name="today" />
<KeyWord name="translate" />
<KeyWord name="transtrn" />
<KeyWord name="tranwrd" />
<KeyWord name="trigamma" />
<KeyWord name="trim" />
<KeyWord name="trimn" />
<KeyWord name="trunc" />
<KeyWord name="tslvl" />
<KeyWord name="typeof" />
<KeyWord name="tzoneid" />
<KeyWord name="tzonename" />
<KeyWord name="tzoneoff" />
<KeyWord name="tzones2u" />
<KeyWord name="tzoneu2s" />
<KeyWord name="uniform" />
<KeyWord name="unquote" />
<KeyWord name="until" />
<KeyWord name="upcase" />
<KeyWord name="update" />
<KeyWord name="urldecode" />
<KeyWord name="urlencode" />
<KeyWord name="uss" />
<KeyWord name="uuidgen" />
<KeyWord name="var" />
<KeyWord name="varfmt" />
<KeyWord name="varinfmt" />
<KeyWord name="varlabel" />
<KeyWord name="varlen" />
<KeyWord name="varname" />
<KeyWord name="varnum" />
<KeyWord name="varray" />
<KeyWord name="varrayx" />
<KeyWord name="vartype" />
<KeyWord name="verify" />
<KeyWord name="vformat" />
<KeyWord name="vformatd" />
<KeyWord name="vformatdx" />
<KeyWord name="vformatn" />
<KeyWord name="vformatnx" />
<KeyWord name="vformatw" />
<KeyWord name="vformatwx" />
<KeyWord name="vformatx" />
<KeyWord name="vinarray" />
<KeyWord name="vinarrayx" />
<KeyWord name="vinformat" />
<KeyWord name="vinformatd" />
<KeyWord name="vinformatdx" />
<KeyWord name="vinformatn" />
<KeyWord name="vinformatnx" />
<KeyWord name="vinformatw" />
<KeyWord name="vinformatwx" />
<KeyWord name="vinformatx" />
<KeyWord name="vlabel" />
<KeyWord name="vlabelx" />
<KeyWord name="vlength" />
<KeyWord name="vlengthx" />
<KeyWord name="vname" />
<KeyWord name="vnamex" />
<KeyWord name="vnext" />
<KeyWord name="vtype" />
<KeyWord name="vtypex" />
<KeyWord name="vvalue" />
<KeyWord name="vvaluex" />
<KeyWord name="waitfor" />
<KeyWord name="week" />
<KeyWord name="weekday" />
<KeyWord name="where" />
<KeyWord name="whichc" />
<KeyWord name="whichn" />
<KeyWord name="while" />
<KeyWord name="window" />
<KeyWord name="x" />
<KeyWord name="year" />
<KeyWord name="yieldp" />
<KeyWord name="yrdif" />
<KeyWord name="yyq" />
<KeyWord name="zipcity" />
<KeyWord name="zipcitydistance" />
<KeyWord name="zipfips" />
<KeyWord name="zipname" />
<KeyWord name="zipnamel" />
<KeyWord name="zipstate" />
</AutoComplete>
</NotepadPlus>

View File

@ -95,11 +95,8 @@
<association id= "spice.xml" langID= "82"/>
<association id= "txt2tags.xml" langID= "83"/>
<association id= "visualprolog.xml" langID= "84"/>
<association id= "typescript.xml" langID= "85"/>
<association id= "mssql.xml" langID= "87"/>
<association id= "gdscript.xml" langID= "88"/>
<association id= "hollywood.xml" langID= "89"/>
<association id= "typescript.xml" langID= "85"/>
If you create your own parse rule of supported languages (above) for your specific need,
you can copy it without modifying the original one, and make it point to your rule.
@ -128,7 +125,6 @@
-->
<!-- ==================== User Defined Languages ============================ -->
<association id= "krl.xml" userDefinedLangName="KRL"/>
<association id= "nppexec.xml" userDefinedLangName="NppExec"/>
<association id= "sinumerik.xml" userDefinedLangName="Sinumerik"/>
<association id= "universe_basic.xml" userDefinedLangName="UniVerse BASIC"/>
<association id= "regexGlobalTest.xml" userDefinedLangName="regexGlobalTest"/>

View File

@ -9,8 +9,6 @@
<NotepadPlus>
<functionList>
<!--
| Complies to ADA 2022
| http://www.ada-auth.org/standards/overview22.html
| Based on:
| http://stackoverflow.com/questions/32126855/notepad-and-ada
\-->
@ -25,10 +23,10 @@
mainExpr="(?x) # free-spacing (see `RegEx - Pattern Modifiers`)
^\h* # optional leading whitespace at start-of-line
(?:
(?i:function)
(?-i:function)
\s+
(?'VALID_ID' # valid identifier, use as subroutine
\b(?!(?i: # keywords (case-insensitive), not to be used as identifier
\b(?!(?-i: # keywords (case-sensitive), not to be used as identifier
a(?:b(?:ort|s(?:tract)?)|cce(?:pt|ss)|l(?:iased|l)|nd|rray|t)
| b(?:egin|ody)
| c(?:ase|onstant)
@ -41,7 +39,7 @@
| mod
| n(?:ew|ot|ull)
| o(?:[fr]|thers|ut|verriding)
| p(?:a(?:ckage|rallel)|r(?:agma|ivate|o(?:cedure|tected)))
| p(?:ackage|r(?:agma|ivate|o(?:cedure|tected)))
| r(?:a(?:is|ng)e|e(?:cord|m|names|queue|turn|verse))
| s(?:e(?:lect|parate)|ome|ubtype|ynchronized)
| t(?:a(?:gged|sk)|erminate|hen|ype)
@ -49,7 +47,7 @@
| w(?:h(?:en|ile)|ith)
| xor
)\b)
[[:alpha:]](?:[\w.]*[[:alnum:]])? # valid character combination for identifiers
[A-Za-z_]\w* # valid character combination for identifiers
)
(?'PARAMETERS'
\s*
@ -57,34 +55,32 @@
[^()]* # parameters
\) # end-of-parameters indicator
)? # parentheses and parameters optional
\s*
(?:return # function returns a value with...
\s*return # function returns a value with...
\s+(?&amp;VALID_ID) # ...type-name
)?
|
(?i:procedure)
(?-i:procedure)
\s+(?&amp;VALID_ID)
(?&amp;PARAMETERS)?
(?:(?&amp;PARAMETERS))? # Boost::Regex 1.58-1.59 do not correctly handle quantifiers on subroutine calls
)
\s*(?i:\bis\b|;) # end-of-definition indicator
\s*(?-i:\bis\b) # end-of-definition indicator
"
>
<functionName>
<nameExpr expr="(?x) # free-spacing (see `RegEx - Pattern Modifiers`)
(?:function|procedure)\s+
\K # discard text matched so far
[[:alpha:]](?:[\w.]*[[:alnum:]])?
[A-Za-z_]\w*
(?:\s*\([^()]*\))? # parentheses and parameters optional
(?=
\s*
(?:\breturn|\bis|;)
\b(?:return|is)
)
"
/>
<!-- comment out the following node to display the method with its parameters -->
<!-- <nameExpr expr="[[:alpha:]](?:[\w.]*[[:alnum:]])?" /> -->
<!-- <nameExpr expr="[A-Za-z_]\w*" /> -->
</functionName>
</function>
</parser>
</functionList>
</NotepadPlus>
</NotepadPlus>

View File

@ -1,40 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!-- ==========================================================================\
|
| To learn how to make your own language parser, please check the following
| link:
| https://npp-user-manual.org/docs/function-list/
|
\=========================================================================== -->
<NotepadPlus>
<functionList>
<parser
displayName="GDScript"
id ="gdscript_syntax"
commentExpr="(?s:'''.*?''')|(?s:\x22\x22\x22.*?\x22\x22\x22)|(?m-s:#.*?$)"
>
<classRange
mainExpr ="^class\x20\K.*?(?=\n\S|\Z)"
>
<className>
<nameExpr expr="\w+(?=[\s:])" />
</className>
<function
mainExpr="\s+?func\x20\K.+?(?=:\s*?$|:\s*?#)"
>
<functionName>
<funcNameExpr expr=".*" />
</functionName>
</function>
</classRange>
<function
mainExpr="^func\x20\K.+?(?=:\s*?$|:\s*?#)"
>
<functionName>
<nameExpr expr=".*" />
</functionName>
</function>
</parser>
</functionList>
</NotepadPlus>

View File

@ -1,27 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!-- ==========================================================================\
|
| To learn how to make your own language parser, please check the following
| link:
| https://npp-user-manual.org/docs/function-list/
|
\=========================================================================== -->
<NotepadPlus>
<functionList>
<!-- ================================================ [ Hollywood ] -->
<parser
displayName="Hollywood"
id ="hollywood_function"
>
<function
mainExpr="((^|\s+|[{,])([A-Za-z_$][\w$]*\.)*[A-Za-z_$][\w$]*\s*[=:]|^|[\s;\}]+)\s*function(\s+[A-Za-z_][\w$:.]*)?\s*\([^\)\(]*\)[\n\s]"
>
<functionName>
<nameExpr expr="[A-Za-z_$][\w$:.]*\s*[=]|[A-Za-z_$][\w$:.]*\s*\(" />
<nameExpr expr="([A-Za-z_$][\w$:.]*\.)*[A-Za-z_$][\w$:.]*" />
</functionName>
</function>
</parser>
</functionList>
</NotepadPlus>

View File

@ -15,21 +15,6 @@
id ="javascript_function"
commentExpr="(?s:/\*.*?\*/)|(?m-s://.*?$)"
>
<classRange mainExpr="\bclass\s+[A-Za-z_$][\w$]*[^{]*{" openSymbole="\{" closeSymbole="\}">
<className>
<!-- Make consecutive patterns to extract the identifier. -->
<nameExpr expr="class\s+[A-Za-z_$][\w$]*" />
<nameExpr expr="\s+[A-Za-z_$][\w$]*" />
<nameExpr expr="[A-Za-z_$][\w$]*" />
</className>
<function mainExpr="\b(?:(?:static|async)\s+)?\b(?!if|while|for|switch)\b[A-Za-z_$][\w$]*\s*\([^\)]*\)\s*{">
<functionName>
<funcNameExpr expr="[A-Za-z_$][\w$]*\s*\(" />
<funcNameExpr expr="[A-Za-z_$][\w$]*" />
</functionName>
</function>
</classRange>
<function
mainExpr="((^|\s+|[;\}\.])([A-Za-z_$][\w$]*\.)*[A-Za-z_$][\w$]*\s*[=:]|^|[\s;\}]+)\s*function(\s+[A-Za-z_$][\w$]*)?\s*\([^\)\(]*\)[\n\s]*\{"
>
@ -44,4 +29,4 @@
</function>
</parser>
</functionList>
</NotepadPlus>
</NotepadPlus>

View File

@ -1,32 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!-- ==========================================================================\
| To learn how to make your own language parser, please check the following
| link: https://npp-user-manual.org/docs/function-list/
\=========================================================================== -->
<NotepadPlus>
<functionList>
<parser
displayName="LaTeX Syntax"
id ="latex_function"
commentExpr="(?x)
(%.*?$) # Comment
"
>
<function
mainExpr="(?x) # free-spacing (see `RegEx - Pattern Modifiers`)
(?im-s) # ignore case, ^ and $ match start/end of line, dot doesn't match newline
\\(begin|
part\*?|
chapter\*?|
section\*?|
subsection\*?|
subsubsection\*?|
paragraph\*?|
subparagraph\*?)
{.*}"
>
</function>
</parser>
</functionList>
</NotepadPlus>

View File

@ -1,107 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!-- Copied from https://github.com/notepad-plus-plus/notepad-plus-plus/issues/4563 -->
<NotepadPlus>
<functionList>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Based on:
| http://stackoverflow.com/questions/19246077/how-to-add-lua-functions-to-the-notepad-functionlist-xml
|
| Note(s):
| 1) Multi Line Comment `Level` is supported by Lua 5.1 and above;
| 2) Nested table view not supported;
\-->
<parser
displayName="Lua w/ Class"
id ="lua_syntax"
commentExpr="(?x) # free-spacing (see `RegEx - Pattern Modifiers`)
(?s: # Multi Line Comment (MLC)
(?&lt;!-) # - no preceeding dash, otherwise start of SLC
-{2}\x5B(?'MLCLvl'=*)\x5B.*?\x5D\k'MLCLvl'\x5D
)
| (?m-s:-{2}(?!\x5B=*\x5B).*$) # Single Line Comment (SLC)
| (?s:\x22(?:[^\x22\x5C]|\x5C.)*\x22) # String Literal - Double Quoted (SLDQ) / Normal String
| (?s: # String Literal - Multi Line (SLML) / Long String
(?&lt;!-{2}) # - no preceeding double dash, otherwise start of MLC or SLC
\x5B(?'SLMLLvl'=*)\x5B(?:[^\x5C\x5D]|\x5C.)*\x5D\k'SLMLLvl'\x5D
)
| (?s:\x27(?:[^\x27\x5C]|\x5C.)*\x27) # String Literal - Single Quoted (SLSQ) / Char String
"
>
<classRange
mainExpr ="(?x) # free-spacing (see `RegEx - Pattern Modifiers`)
[.\w]+
\s*=
\s*\{
"
openSymbole ="\{"
closeSymbole="\}"
>
<className>
<nameExpr expr="[.\w]+" />
</className>
<function
mainExpr="(?x) # free-spacing (see `RegEx - Pattern Modifiers`)
[.\w]+
\s*=
\s*(?'QT'[\x22\x27]?)\w+\k'QT'
"
>
<functionName>
<funcNameExpr expr=".*" />
</functionName>
</function>
</classRange>
<function
mainExpr="(?x) # free-spacing (see `RegEx - Pattern Modifiers`)
(?m-i) # ^ and $ match at line-breaks, case-sensitive
(?(DEFINE) # definition of sub-routine(s)
(?'VALID_ID' # Valid Identifier sub-routine
\b(?!(?-i: # - keywords (case-sensitive), not to be used as identifier
and
| break
| do
| e(?:lse(?:if)?|nd)
| f(?:alse|or|unction)
| goto
| i[fn]
| local
| n(?:il|ot)
| or
| re(?:peat|turn)
| t(?:hen|rue)
| until
| while
)\b)
[A-Za-z_\x7F-\xFF][\w\x7F-\xFF]* # - valid character combination for identifiers
)
)
(?m) # ^ and $ match at line-breaks
(?:
^\h* # optional leading white-space at start-of-line
(?:local\s+)?
function\s+
\K # discard text matched so far
(?&amp;VALID_ID)
(?:\s*\.\s*(?&amp;VALID_ID))*
(?:\s*:\s*(?&amp;VALID_ID))?
|
(?&amp;VALID_ID)
(?:\s*\.\s*(?&amp;VALID_ID))*
\s*=
\s*function
)
\s*\( # start-of-parameter-list indicator
[^)]* # optional parameters
\) # end-of-parameter-list indicator
"
>
<functionName>
<nameExpr expr="[A-Za-z_\x7F-\xFF][\w\x7F-\xFF]*(?=\s*[(=])" />
</functionName>
<className>
<nameExpr expr="[A-Za-z_\x7F-\xFF][\w\x7F-\xFF]*(?:\s*\.\s*[A-Za-z_\x7F-\xFF][\w\x7F-\xFF]*)*(?=\s*[.:])" />
</className>
</function>
</parser>
</functionList>
</NotepadPlus>

Some files were not shown because too many files have changed in this diff Show More