├── .github └── workflows │ └── release.yml ├── .luacov ├── CMakeLists.txt ├── LICENSE ├── README.md ├── doc ├── _G.luadoc ├── bit32.luadoc ├── c_api ├── coroutine.luadoc ├── debug.luadoc ├── io.luadoc ├── lfs.luadoc ├── lpeg.luadoc ├── math.luadoc ├── os.luadoc ├── package.luadoc ├── regex.luadoc ├── string.luadoc ├── table.luadoc └── utf8.luadoc ├── icons ├── 16 │ ├── class.xpm │ ├── color.xpm │ ├── constant.xpm │ ├── constructor.xpm │ ├── event.xpm │ ├── field.xpm │ ├── file.xpm │ ├── fix.xpm │ ├── folder.xpm │ ├── interface.xpm │ ├── keyword.xpm │ ├── method.xpm │ ├── module.xpm │ ├── operator.xpm │ ├── property.xpm │ ├── refactor.xpm │ ├── reference.xpm │ ├── snippet.xpm │ ├── struct.xpm │ ├── text.xpm │ ├── type_parameter.xpm │ ├── unit.xpm │ ├── value.xpm │ └── variable.xpm ├── 16@2x │ ├── class.xpm │ ├── color.xpm │ ├── constant.xpm │ ├── constructor.xpm │ ├── event.xpm │ ├── field.xpm │ ├── file.xpm │ ├── fix.xpm │ ├── folder.xpm │ ├── interface.xpm │ ├── keyword.xpm │ ├── method.xpm │ ├── module.xpm │ ├── operator.xpm │ ├── property.xpm │ ├── refactor.xpm │ ├── reference.xpm │ ├── snippet.xpm │ ├── struct.xpm │ ├── text.xpm │ ├── type_parameter.xpm │ ├── unit.xpm │ ├── value.xpm │ └── variable.xpm ├── HOWTO ├── NOTICE ├── class.svg ├── color.svg ├── constant.svg ├── constructor.svg ├── event.svg ├── field.svg ├── file.svg ├── fix.svg ├── folder.svg ├── interface.svg ├── keyword.svg ├── method.svg ├── module.svg ├── operator.svg ├── property.svg ├── refactor.svg ├── reference.svg ├── snippet.svg ├── struct.svg ├── type_parameter.svg ├── unit.svg ├── value.svg └── variable.svg ├── init.lua ├── init_test.lua ├── ldoc.patch ├── server.lua └── tadoc.lua /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: release 2 | on: 3 | push: 4 | branch: default 5 | 6 | jobs: 7 | release: 8 | runs-on: ubuntu-latest 9 | steps: 10 | - name: Checkout 11 | uses: actions/checkout@v2 12 | - name: Package 13 | shell: bash 14 | run: | 15 | mkdir -p build/_deps && mv textadept-build/* build/_deps && rm -r textadept-build 16 | cmake -S . -B build -D CMAKE_INSTALL_PREFIX=build/install 17 | cmake --build build --config Release -j 18 | cmake --install build --config Release 19 | git archive HEAD --prefix lsp/ | tar -xf - 20 | mv dkjson.lua ldoc ldoc.lua logging pl lsp 21 | zip -r lsp.zip lsp 22 | - name: Tag 23 | run: | 24 | git tag latest 25 | git push -f origin latest 26 | - name: Create release 27 | uses: ncipollo/release-action@v1 28 | with: 29 | name: latest 30 | tag: latest 31 | allowUpdates: true 32 | body: | 33 | Latest automated build (ignore github-actions' release date) 34 | 35 | Note: this build may only be compatible with the latest release of Textadept 36 | (which may be an unstable release or a nightly build). If you are looking for a 37 | version of this module that is compatible with a specific version of Textadept, 38 | please download the "modules.zip" archive released alongside your version of Textadept. 39 | artifacts: lsp.zip 40 | token: ${{ secrets.GITHUB_TOKEN }} 41 | cleanup: 42 | runs-on: ubuntu-latest 43 | needs: release 44 | steps: 45 | - name: Remove older build artifacts 46 | uses: c-hive/gha-remove-artifacts@v1 47 | with: 48 | age: '1 minute' 49 | -------------------------------------------------------------------------------- /.luacov: -------------------------------------------------------------------------------- 1 | include = {'lsp'} 2 | exclude = {'_test'} 3 | -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright 2022-2025 Mitchell. See LICENSE. 2 | 3 | cmake_minimum_required(VERSION 3.16) 4 | 5 | set(src ${CMAKE_SOURCE_DIR}) 6 | 7 | # Dependencies. 8 | include(FetchContent) 9 | set(FETCHCONTENT_QUIET OFF) 10 | set(deps_dir ${CMAKE_BINARY_DIR}/_deps) 11 | set(dkjson_tgz dkjson-2.5.tar.gz) 12 | set(dkjson_url file://${deps_dir}/${dkjson_tgz}) 13 | if(NOT EXISTS ${deps_dir}/${dkjson_tgz}) 14 | set(dkjson_url http://dkolf.de/dkjson-lua/${dkjson_tgz}) 15 | endif() 16 | FetchContent_Declare(dkjson URL ${dkjson_url}) 17 | FetchContent_MakeAvailable(dkjson) 18 | set(penlight_zip 1.13.1.zip) 19 | FetchContent_Declare(penlight 20 | URL https://github.com/lunarmodules/Penlight/archive/refs/tags/${penlight_zip}) 21 | FetchContent_MakeAvailable(penlight) 22 | set(ldoc_zip 1.4.6.zip) 23 | FetchContent_Declare(ldoc 24 | URL https://github.com/lunarmodules/LDoc/archive/refs/tags/${ldoc_zip} 25 | PATCH_COMMAND patch -N -p1 < ${CMAKE_SOURCE_DIR}/ldoc.patch) 26 | FetchContent_MakeAvailable(ldoc) 27 | set(logging_zip v1.8.1.zip) 28 | FetchContent_Declare(logging 29 | URL https://github.com/lunarmodules/lualogging/archive/refs/tags/${logging_zip}) 30 | FetchContent_MakeAvailable(logging) 31 | 32 | # Install. 33 | project(lsp) 34 | install(FILES ${dkjson_SOURCE_DIR}/dkjson.lua ${ldoc_SOURCE_DIR}/ldoc.lua DESTINATION ${src}) 35 | install(FILES ${logging_SOURCE_DIR}/src/logging.lua DESTINATION ${src}/logging RENAME init.lua) 36 | install(FILES ${logging_SOURCE_DIR}/src/logging/file.lua DESTINATION ${src}/logging) 37 | install(DIRECTORY ${penlight_SOURCE_DIR}/lua/pl ${ldoc_SOURCE_DIR}/ldoc DESTINATION ${src}) 38 | if(NOT (WIN32 OR APPLE)) 39 | include(GNUInstallDirs) 40 | set(module_dir ${CMAKE_INSTALL_FULL_DATADIR}/textadept/modules/lsp) 41 | install(CODE "file(MAKE_DIRECTORY ${module_dir})") 42 | install(FILES init.lua server.lua tadoc.lua dkjson.lua ldoc.lua DESTINATION ${module_dir}) 43 | install(DIRECTORY doc pl ldoc logging DESTINATION ${module_dir}) 44 | endif() 45 | 46 | # Documentation. 47 | get_filename_component(ta_dir ${src}/../../ ABSOLUTE) 48 | add_custom_target(docs DEPENDS README.md) 49 | add_custom_command(OUTPUT ${src}/README.md 50 | COMMAND ldoc --filter markdowndoc.ldoc ${src}/init.lua -- --title="Language Server Protocol" 51 | --single > ${src}/README.md 52 | DEPENDS init.lua 53 | WORKING_DIRECTORY ${ta_dir}/scripts 54 | VERBATIM) 55 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License 2 | 3 | Copyright (c) 2018-2025 Mitchell 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /doc/bit32.luadoc: -------------------------------------------------------------------------------- 1 | --- @module bit32 2 | 3 | --- Returns the number `x` shifted `disp` bits to the right. The number `disp` may be any 4 | -- representable integer. Negative displacements shift to the left. 5 | -- 6 | -- This shift operation is what is called arithmetic shift. Vacant bits on the left are filled 7 | -- with copies of the higher bit of `x`; vacant bits on the right are filled with zeros. In 8 | -- particular, displacements with absolute values higher than 31 result in zero or `0xFFFFFFFF` 9 | -- (all original bits are shifted out). 10 | -- 11 | -- New in Lua 5.2. Deprecated in Lua 5.3. 12 | -- @param x 13 | -- @param disp 14 | -- @function bit32.arshift 15 | 16 | --- Returns the bitwise "and" of its operands. 17 | -- 18 | -- New in Lua 5.2. Deprecated in Lua 5.3. 19 | -- @param ... 20 | -- @function bit32.band 21 | 22 | --- Returns the bitwise negation of `x`. For any integer `x`, the following identity holds: 23 | -- 24 | -- assert(bit32.bnot(x) == (-1 - x) % 2^32) 25 | -- 26 | -- New in Lua 5.2. Deprecated in Lua 5.3. 27 | -- @param x 28 | -- @function bit32.bnot 29 | 30 | --- Returns the bitwise "or" of its operands. 31 | -- 32 | -- New in Lua 5.2. Deprecated in Lua 5.3. 33 | -- @param ... 34 | -- @function bit32.bor 35 | 36 | --- Returns a boolean signaling whether the bitwise "and" of its operands is different from zero. 37 | -- 38 | -- New in Lua 5.2. Deprecated in Lua 5.3. 39 | -- @param ... 40 | -- @function bit32.btest 41 | 42 | --- Returns the bitwise "exclusive or" of its operands. 43 | -- 44 | -- New in Lua 5.2. Deprecated in Lua 5.3. 45 | -- @param ... 46 | -- @function bit32.xor 47 | 48 | --- Returns the unsigned number formed by the bits `field` to `field + width - 1` from `n`. Bits 49 | -- are numbered from 0 (least significant) to 31 (most significant). All accessed bits must be 50 | -- in the range [0, 31]. 51 | -- 52 | -- The default for `width` is 1. 53 | -- 54 | -- New in Lua 5.2. Deprecated in Lua 5.3. 55 | -- @param n 56 | -- @param field 57 | -- @param[opt] width 58 | -- @function bit32.extract 59 | 60 | --- Returns a copy of `n` with the bits `field` to `field + width - 1` replaced by the value 61 | -- `v`. See `bit32.extract` for details about `field` and `width`. 62 | -- 63 | -- New in Lua 5.2. Deprecated in Lua 5.3. 64 | -- @param n 65 | -- @param v 66 | -- @param field 67 | -- @param[opt] width 68 | -- @function bit32.replace 69 | 70 | --- Returns the number `x` rotated `disp` bits to the left. The number `disp` may be any 71 | -- representable integer. 72 | -- 73 | -- For any valid displacement, the following identity holds: 74 | -- 75 | -- assert(bit32.lrotate(x, disp) == bit32.lrotate(x, disp % 32)) 76 | -- 77 | -- In particular, negative displacements rotate to the right. 78 | -- 79 | -- New in Lua 5.2. Deprecated in Lua 5.3. 80 | -- @param x 81 | -- @param disp 82 | -- @function bit32.lrotate 83 | 84 | --- Returns the number `x` shifted `disp` bits to the left. The number `disp` may be any 85 | -- representable integer. Negative displacements shift to the right. In any direction, vacant 86 | -- bits are filled with zeros. In particular, displacements with absolute values higher than 87 | -- 31 result in zero (all bits are shifted out). 88 | -- 89 | -- For positive displacements, the following equality holds: 90 | -- 91 | -- assert(bit32.lshift(b, disp) == (b * 2^disp) % 2^32) 92 | -- 93 | -- New in Lua 5.2. Deprecated in Lua 5.3. 94 | -- @param x 95 | -- @param disp 96 | -- @function bit32.lshift 97 | 98 | --- Returns the number `x` rotated `disp` bits to the right. The number `disp` may be any 99 | -- representable integer. 100 | -- 101 | -- For any valid displacement, the following identity holds: 102 | -- 103 | -- assert(bit32.rrotate(x, disp) == bit32.rrotate(x, disp % 32)) 104 | -- 105 | -- In particular, negative displacements rotate to the left. 106 | -- 107 | -- New in Lua 5.2. Deprecated in Lua 5.3. 108 | -- @param x 109 | -- @param disp 110 | -- @function bit32.rrotate 111 | 112 | --- Returns the number `x` shifted `disp` bits to the right. The number `disp` may be any 113 | -- representable integer. Negative displacements shift to the left. In any direction, vacant 114 | -- bits are filled with zeros. In particular, displacements with absolute values higher than 115 | -- 31 result in zero (all bits are shifted out). 116 | -- 117 | -- For positive displacements, the following equality holds: 118 | -- 119 | -- assert(bit32.rshift(b, disp) == math.floor(b % 2^32 / 2^disp)) 120 | -- 121 | -- This shift operation is what is called logical shift. 122 | -- 123 | -- New in Lua 5.2. Deprecated in Lua 5.3. 124 | -- @param x 125 | -- @param disp 126 | -- @function bit32.rshift 127 | -------------------------------------------------------------------------------- /doc/coroutine.luadoc: -------------------------------------------------------------------------------- 1 | --- @module coroutine 2 | 3 | --- Closes coroutine `co`, that is, closes all its pending to-be-closed variables and puts the 4 | -- coroutine in a dead state. The given coroutine must be dead or suspended. In case of error 5 | -- closing some variable, returns false plus the error object; otherwise returns true. 6 | -- @param co 7 | -- @function coroutine.close 8 | 9 | --- Creates a new coroutine, with body `f`. `f` must be a Lua function. Returns this new coroutine, 10 | -- an object with type `"thread"`. 11 | -- @param f 12 | -- @function coroutine.create 13 | 14 | --- Returns true when the coroutine `co` can yield. The default for `co` is the running coroutine. 15 | -- 16 | -- A coroutine is yieldable if it is not the main thread and it is not inside a non-yieldable 17 | -- C function. 18 | -- 19 | -- New in Lua 5.3. 20 | -- @param[opt] co 21 | -- @function coroutine.isyieldable 22 | 23 | --- Starts or continues the execution of coroutine `co`. The first time you resume a coroutine, 24 | -- it starts running its body. The values `val1`, ··· are passed as the arguments to the body 25 | -- function. If the coroutine has yielded, `resume` restarts it; the values `val1`, ··· are 26 | -- passed as the results from the yield. 27 | -- 28 | -- If the coroutine runs without any errors, `resume` returns true plus any values passed to 29 | -- `yield` (when the coroutine yields) or any values returned by the body function (when the 30 | -- coroutine terminates). If there is any error, `resume` returns false plus the error message. 31 | -- @param co 32 | -- @param[opt] val1 33 | -- @param[optchain] ... 34 | -- @function coroutine.resume 35 | 36 | --- Returns the running coroutine plus a boolean, true when the running coroutine is the main one. 37 | -- @function coroutine.running 38 | 39 | --- Returns the status of the coroutine `co`, as a string: `"running"`, if the coroutine is 40 | -- running (that is, it is the one that called `status`); `"suspended"`, if the coroutine 41 | -- is suspended in a call to `yield`, or if it has not started running yet; `"normal"` if the 42 | -- coroutine is active but not running (that is, it has resumed another coroutine); and `"dead"` 43 | -- if the coroutine has finished its body function, or if it has stopped with an error. 44 | -- @param co 45 | -- @function coroutine.status 46 | 47 | --- Creates a new coroutine, with body `f`; `f` must be a Lua function. Returns a function that 48 | -- resumes the coroutine each time it is called. Any arguments passed to this function behave as 49 | -- the extra arguments to `resume`. The function returns the same values returned by `resume`, 50 | -- except the first boolean. In case of error, the function closes the coroutine and propagates 51 | -- the error. 52 | -- @param f 53 | -- @function coroutine.wrap 54 | 55 | --- Suspends the execution of the calling coroutine. Any arguments to `yield` are passed as 56 | -- extra results to `resume`. 57 | -- @param ... 58 | -- @function coroutine.yield 59 | -------------------------------------------------------------------------------- /doc/debug.luadoc: -------------------------------------------------------------------------------- 1 | --- @module debug 2 | 3 | --- Enters an interactive mode with the user, running each string that the user enters. Using 4 | -- simple commands and other debug facilities, the user can inspect global and local variables, 5 | -- change their values, evaluate expressions, and so on. A line containing only the word `cont` 6 | -- finishes this function, so that the caller continues its execution. 7 | -- 8 | -- Note that commands for `debug.debug` are not lexically nested within any function and so 9 | -- have no direct access to local variables. 10 | -- @function debug.debug 11 | 12 | --- Returns the environment of object `o`. 13 | -- 14 | -- Deprecated in Lua 5.2. 15 | -- @param o 16 | -- @function debug.getfenv 17 | 18 | --- Returns the current hook settings of the thread, as three values: the current hook function, 19 | -- the current hook mask, and the current hook count, as set by the `debug.sethook` function. 20 | -- 21 | -- Returns nil if there is no active hook. 22 | -- @param[opt] thread 23 | -- @function debug.gethook 24 | 25 | --- Returns a table with information about a function. You can give the function directly or 26 | -- you can give a number as the value of `f`, which means the function running at level `f` 27 | -- of the call stack of the given thread: level 0 is the current function (`getinfo` itself); 28 | -- level 1 is the function that called `getinfo` (except for tail calls, which do not count in 29 | -- the stack); and so on. If `f` is a number greater than the number of active functions, then 30 | -- `getinfo` returns nil. 31 | -- 32 | -- The returned table can contain all the fields returned by `lua_getinfo`, with the string 33 | -- `what` describing which fields to fill in. The default for `what` is to get all information 34 | -- available, except the table of valid lines. If present, the option '`f`' adds a field named 35 | -- `func` with the function itself. If present, the option '`L`' adds a field named `activelines` 36 | -- with the table of valid lines. 37 | -- 38 | -- For instance, the expression `debug.getinfo(1,"n").name` returns a table with a name for the 39 | -- current function, if a reasonable name can be found, and the expression `debug.getinfo(print)` 40 | -- returns a table with all available information about the `print` function. 41 | -- @param[opt] thread 42 | -- @param f 43 | -- @param[opt] what 44 | -- @function debug.getinfo 45 | 46 | --- This function returns the name and the value of the local variable with index `local` of the 47 | -- function at level `f` of the stack. This function accesses not only explicit local variables, 48 | -- but also parameters and temporary values. 49 | -- 50 | -- The first parameter or local variable has index 1, and so on, following the order that 51 | -- they are declared in the code, counting only the variables that are active in the current 52 | -- scope of the function. Compile-time constants may not appear in this listing, if they were 53 | -- optimized away by the compiler. Negative indices refer to vararg parameters; -1 is the first 54 | -- vararg parameter. The function returns nil if there is no variable with the given index, 55 | -- and raises an error when called with a level out of range. (You can call `debug.getinfo` 56 | -- to check whether the level is valid.) 57 | -- 58 | -- Variable names starting with '(' (open parenthesis) represent variables with no known names 59 | -- (internal variables such as loop control variables, and variables from chunks saved without 60 | -- debug information). 61 | -- 62 | -- The parameter `f` may also be a function. In that case, `getlocal` returns only the name of 63 | -- function parameters. 64 | -- @param[opt] thread 65 | -- @param f 66 | -- @param local 67 | -- @function debug.getlocal 68 | 69 | --- Returns the metatable of the given `value` or nil if it does not have a metatable. 70 | -- @param value 71 | -- @function debug.getmetatable 72 | 73 | --- Returns the registry table (see §4.3). 74 | -- @function debug.getregistry 75 | 76 | --- This function returns the name and the value of the upvalue with index `up` of the function 77 | -- `f`. The function returns nil if there is no upvalue with the given index. 78 | -- 79 | -- (For Lua functions, upvalues are the external local variables that the function uses, and 80 | -- that are consequently included in its closure.) 81 | -- 82 | -- For C functions, this function uses the empty string `""` as a name for all upvalues. 83 | -- 84 | -- Variable name '`?`' (interrogation mark) represents variables with no known names (variables 85 | -- from chunks saved without debug information). 86 | -- @param f 87 | -- @param up 88 | -- @function debug.getupvalue 89 | 90 | --- Returns the `n`-th user value associated to the userdata `u` plus a boolean, false, if the 91 | -- userdata does not have that value. 92 | -- 93 | -- New in Lua 5.2. 94 | -- @param u 95 | -- @param n 96 | -- @function debug.getuservalue 97 | 98 | --- Sets the environment of the given `object` to the given `table`. Returns `object`. 99 | -- 100 | -- Deprecated in Lua 5.2. 101 | -- @param object 102 | -- @param table 103 | -- @function debug.setfenv 104 | 105 | --- Sets the given function as the debug hook. The string `mask` and the number `count` describe 106 | -- when the hook will be called. The string mask may have any combination of the following 107 | -- characters, with the given meaning: 108 | -- 109 | -- - "c": the hook is called every time Lua calls a function; 110 | -- - "r": the hook is called every time Lua returns from a function; 111 | -- - "l": the hook is called every time Lua enters a new line of code. 112 | -- 113 | -- Moreover, with a `count` different from zero, the hook is called also after every `count` 114 | -- instructions. 115 | -- 116 | -- When called without arguments, `debug.sethook` turns off the hook. 117 | -- 118 | -- When the hook is called, its first parameter is a string describing the event that has 119 | -- triggered its call: `"call"`, `"tail call"`, `"return"`, `"line"`, and `"count"`. For line 120 | -- events, the hook also gets the new line number as its second parameter. Inside a hook, you 121 | -- can call `getinfo` with level 2 to get more information about the running function. (Level 122 | -- 0 is the `getinfo` function, and level 1 is the hook function.) 123 | -- @param[opt] thread 124 | -- @param hook 125 | -- @param mask 126 | -- @param[opt] count 127 | -- @function debug.sethook 128 | 129 | --- This function assigns the value `value` to the local variable with index `local` of the 130 | -- function at level `level` of the stack. The function returns nil if there is no local variable 131 | -- with the given index, and raises an error when called with a `level` out of range. (You can 132 | -- call `getinfo` to check whether the level is valid.) Otherwise, it returns the name of the 133 | -- local variable. 134 | -- 135 | -- See `debug.getlocal` for more information about variable indices and names. 136 | -- @param[opt] thread 137 | -- @param level 138 | -- @param local 139 | -- @param value 140 | -- @function debug.setlocal 141 | 142 | --- Sets the metatable for the given `value` to the given `table` (which can be nil). 143 | -- @param value 144 | -- @param table 145 | -- @function debug.setmetatable 146 | 147 | --- This function assigns the value `value` to the upvalue with index `up` of the function 148 | -- `f`. The function returns nil if there is no upvalue with the given index. Otherwise, it 149 | -- returns the name of the upvalue. 150 | -- 151 | -- See `debug.getupvalue` for more information about upvalues. 152 | -- @param f 153 | -- @param up 154 | -- @param value 155 | -- @function debug.setupvalue 156 | 157 | --- Sets the given `value` as the `n`-th user value associated to the given `udata`. `udata` 158 | -- must be a full userdata. 159 | -- 160 | -- Returns `udata`, or nil if the userdata does not have that value. 161 | -- 162 | -- New in Lua 5.2. 163 | -- @param udata 164 | -- @param value 165 | -- @param n 166 | -- @function debug.setuservalue 167 | 168 | --- If `message` is present but is neither a string nor nil, this function returns `message` 169 | -- without further processing. Otherwise, it returns a string with a traceback of the call 170 | -- stack. The optional `message` string is appended at the beginning of the traceback. An optional 171 | -- `level` number tells at which level to start the traceback (default is 1, the function calling 172 | -- `traceback`). 173 | -- @param[opt] thread 174 | -- @param[opt] message 175 | -- @param[opt] level 176 | -- @function debug.traceback 177 | 178 | --- Returns a unique identifier (as a light userdata) for the upvalue numbered `n` from the 179 | -- given function. 180 | -- 181 | -- These unique identifiers allow a program to check whether different closures share upvalues. Lua 182 | -- closures that share an upvalue (that is, that access a same external local variable) will 183 | -- return identical ids for those upvalue indices. 184 | -- 185 | -- New in Lua 5.2. 186 | -- @param f 187 | -- @param n 188 | -- @function debug.upvalueid 189 | 190 | --- Make the `n1`-th upvalue of the Lua closure `f1` refer to the `n2`-th upvalue of the Lua 191 | -- closure `f2`. 192 | -- 193 | -- New in Lua 5.2. 194 | -- @param f1 195 | -- @param n1 196 | -- @param f2 197 | -- @param n2 198 | -- @function debug.upvaluejoin 199 | -------------------------------------------------------------------------------- /doc/io.luadoc: -------------------------------------------------------------------------------- 1 | --- @module io 2 | 3 | --- Standard error. 4 | -- @field stderr 5 | 6 | --- Standard in. 7 | -- @field stdin 8 | 9 | --- Standard out. 10 | -- @field stdout 11 | 12 | --- Equivalent to `file:close()`. Without a `file`, closes the default output file. 13 | -- @param[opt] file 14 | -- @function io.close 15 | 16 | --- Equivalent to `io.output():flush()`. 17 | -- @function io.flush 18 | 19 | --- When called with a file name, it opens the named file (in text mode), and sets its handle as 20 | -- the default input file. When called with a file handle, it simply sets this file handle as the 21 | -- default input file. When called without parameters, it returns the current default input file. 22 | -- 23 | -- In case of errors this function raises the error, instead of returning an error code. 24 | -- @param[opt] file 25 | -- @function io.input 26 | 27 | --- Opens the given file name in read mode and returns an iterator function that works like 28 | -- `file:lines(···)` over the opened file. When the iterator function fails to read any value, 29 | -- it automatically closes the file. Besides the iterator function, `io.lines` returns three other 30 | -- values: two nil values as placeholders, plus the created file handle. Therefore, when used in 31 | -- a generic for loop, the file is closed also if the loop is interrupted by an error or a `break`. 32 | -- 33 | -- The call `io.lines()` (with no file name) is equivalent to `io.input():lines("l")`; that is, 34 | -- it iterates over the lines of the default input file. In this case it does not close the 35 | -- file when the loop ends. 36 | -- 37 | -- In case of errors opening the file, this function raises the error, instead of returning an 38 | -- error code. 39 | -- @param[opt] filename 40 | -- @param[opt] ... 41 | -- @function io.lines 42 | 43 | --- This function opens a file, in the mode specified in the string `mode`. It returns a new 44 | -- file handle, or, in case of errors, nil plus an error message. 45 | -- 46 | -- The `mode` string can be any of the following: 47 | -- 48 | -- - "r": read mode (the default); 49 | -- - "w": write mode; 50 | -- - "a": append mode; 51 | -- - "r+": update mode, all previous data is preserved; 52 | -- - "w+": update mode, all previous data is erased; 53 | -- - "a+": append update mode, previous data is preserved, writing is only allowed at the 54 | -- end of file. 55 | -- 56 | -- The `mode` string can also have a '`b`' at the end, which is needed in some systems to open 57 | -- the file in binary mode. 58 | -- @param filename 59 | -- @param[opt] mode 60 | -- @function io.open 61 | 62 | --- Similar to `io.input`, but operates over the default output file. 63 | -- @param[opt] file 64 | -- @function io.output 65 | 66 | --- Starts the program `prog` in a separated process and returns a file handle that you can use 67 | -- to read data from this program (if `mode` is `"r"`, the default) or to write data to this 68 | -- program (if `mode` is `"w"`). 69 | -- 70 | -- This function is system dependent and is not available on all platforms. 71 | -- @param prog 72 | -- @param[opt] mode 73 | -- @function io.popen 74 | 75 | --- Equivalent to `io.input():read(···)`. 76 | -- @param ... 77 | -- @function io.read 78 | 79 | --- In case of success, returns a handle for a temporary file. This file is opened in update 80 | -- mode and it is automatically removed when the program ends. 81 | -- @function io.tmpfile 82 | 83 | --- Checks whether `obj` is a valid file handle. Returns the string `"file"` if `obj` is an 84 | -- open file handle, `"closed file"` if `obj` is a closed file handle, or nil if `obj` is not 85 | -- a file handle. 86 | -- @param obj 87 | -- @function io.type 88 | 89 | --- Equivalent to `io.output():write(···)`. 90 | -- @param ... 91 | -- @function io.write 92 | 93 | --- @type file 94 | 95 | --- Closes `file`. Note that files are automatically closed when their handles are garbage 96 | -- collected, but that takes an unpredictable amount of time to happen. 97 | -- 98 | -- When closing a file handle created with `io.popen`, `file:close` returns the same values 99 | -- returned by `os.execute`. 100 | -- @function file:close 101 | 102 | --- Saves any written data to `file`. 103 | -- @function file:flush 104 | 105 | --- Returns an iterator function that, each time it is called, reads the file according to the 106 | -- given formats. When no format is given, uses "l" as a default. As an example, the construction 107 | -- 108 | -- for c in file:lines(1) do *body* end 109 | -- 110 | -- will iterate over all characters of the file, starting at the current position. Unlike 111 | -- `io.lines`, this function does not close the file when the loop ends. 112 | -- @param ... 113 | -- @function file:lines 114 | 115 | --- Reads the file `file`, according to the given formats, which specify what to read. For each 116 | -- format, the function returns a string or a number with the characters read, or nil if it 117 | -- cannot read data with the specified format. (In this latter case, the function does not read 118 | -- subsequent formats.) When called without arguments, it uses a default format that reads 119 | -- the next line (see below). 120 | -- 121 | -- The available formats are 122 | -- 123 | -- - "n": reads a numeral and returns it as a float or an integer, following the lexical 124 | -- conventions of Lua. (The numeral may have leading whitespaces and a sign.) This format 125 | -- always reads the longest input sequence that is a valid prefix for a number; if that 126 | -- prefix does not form a valid number (e.g., an empty string, "0x", or "3.4e-") or it is 127 | -- too long (more than 200 characters), it is discarded and the format returns nil. 128 | -- - "a": reads the whole file, starting at the current position. On end of file, it returns 129 | -- the empty string; this format never fails. 130 | -- - "l": reads the next line skipping the end of line, returning nil on end of file. This 131 | -- is the default format. 132 | -- - "L": reads the next line keeping the end-of-line character (if present), returning nil 133 | -- on end of file. 134 | -- - *number*: reads a string with up to this number of bytes, returning nil on end of file. If 135 | -- *number* is zero, it reads nothing and returns an empty string, or nil on end of file. 136 | -- 137 | -- The formats "l" and "L" should be used only for text files. 138 | -- @param ... 139 | -- @function file:read 140 | 141 | --- Sets and gets the file position, measured from the beginning of the file, to the position 142 | -- given by `offset` plus a base specified by the string `whence`, as follows: 143 | -- 144 | -- - "set": base is position 0 (beginning of the file); 145 | -- - "cur": base is current position; 146 | -- - "end": base is end of file; 147 | -- 148 | -- In case of success, function `seek` returns the final file position, measured in bytes from 149 | -- the beginning of the file. If `seek` fails, it returns nil, plus a string describing the error. 150 | -- 151 | -- The default value for `whence` is `"cur"`, and for `offset` is 0. Therefore, the 152 | -- call `file:seek()` returns the current file position, without changing it; the call 153 | -- `file:seek("set")` sets the position to the beginning of the file (and returns 0); and the 154 | -- call `file:seek("end")` sets the position to the end of the file, and returns its size. 155 | -- @param[opt] whence 156 | -- @param[optchain] offset 157 | -- @function file:seek 158 | 159 | --- Sets the buffering mode for a file. There are three available modes: 160 | -- 161 | -- - "no": no buffering 162 | -- - "full": full buffering 163 | -- - "line": line buffering 164 | -- 165 | -- For the last two cases, `size` is a hint for the size of the buffer, in bytes. The default 166 | -- is an appropriate size. 167 | -- 168 | -- The specific behavior of each mode is non portable; check the underlying ISO C function 169 | -- `setvbuf` in your platform for more details. 170 | -- @param mode 171 | -- @param[opt] size 172 | -- @function file:setvbuf 173 | 174 | --- Writes the value of each of its arguments to `file`. The arguments must be strings or numbers. 175 | -- 176 | -- In case of success, this function returns `file`. Otherwise it returns nil plus a string 177 | -- describing the error. 178 | -- @param ... 179 | -- @function file:write 180 | -------------------------------------------------------------------------------- /doc/lfs.luadoc: -------------------------------------------------------------------------------- 1 | --- @module lfs 2 | 3 | --- Returns a table with the file attributes corresponding to filepath (or nil followed by 4 | -- an error message in case of error). If the second optional argument is given and is a 5 | -- string, then only the value of the named attribute is returned (this use is equivalent to 6 | -- lfs.attributes(filepath)[aname], but the table is not created and only one attribute is 7 | -- retrieved from the O.S.). If a table is passed as the second argument, it is filled with 8 | -- attributes and returned instead of a new table. The attributes are described as follows; 9 | -- attribute mode is a string, all the others are numbers, and the time related attributes use 10 | -- the same time reference of os.time: 11 | -- 12 | -- dev: on Unix systems, this represents the device that the inode resides on. On Windows 13 | -- systems, represents the drive number of the disk containing the file 14 | -- ino: on Unix systems, this represents the inode number. On Windows systems this has no meaning 15 | -- mode: string representing the associated protection mode (the values could be file, 16 | -- directory, link, socket, named pipe, char device, block device or other) 17 | -- nlink: number of hard links to the file 18 | -- uid: user-id of owner (Unix only, always 0 on Windows) 19 | -- gid: group-id of owner (Unix only, always 0 on Windows) 20 | -- rdev: on Unix systems, represents the device type, for special file inodes. On Windows 21 | -- systems represents the same as dev 22 | -- access: time of last access 23 | -- modification: time of last data modification 24 | -- change: time of last file status change 25 | -- size: file size, in bytes 26 | -- permissions: file permissions string 27 | -- blocks: block allocated for file; (Unix only) 28 | -- blksize: optimal file system I/O blocksize; (Unix only) 29 | -- 30 | -- This function uses stat internally thus if the given filepath is a symbolic link, it is 31 | -- followed (if it points to another link the chain is followed recursively) and the information 32 | -- is about the file it refers to. To obtain information about the link itself, see function 33 | -- lfs.symlinkattributes. 34 | -- @param filepath 35 | -- @param[opt] aname | atable 36 | -- @function lfs.attributes 37 | 38 | --- Changes the current working directory to the given path. 39 | -- 40 | -- Returns true in case of success or nil plus an error string. 41 | -- @param path 42 | -- @function lfs.chdir 43 | 44 | --- Creates a lockfile (called lockfile.lfs) in path if it does not exist and returns the lock. If 45 | -- the lock already exists checks if it's stale, using the second parameter (default for the 46 | -- second parameter is INT_MAX, which in practice means the lock will never be stale. To free 47 | -- the the lock call lock:free(). 48 | -- 49 | -- In case of any errors it returns nil and the error message. In particular, if the lock exists 50 | -- and is not stale it returns the "File exists" message. 51 | -- @param path 52 | -- @param[opt] seconds_stale 53 | -- @function lfs.lock_dir 54 | 55 | --- Returns a string with the current working directory or nil plus an error string. 56 | -- @function lfs.currentdir 57 | 58 | --- Lua iterator over the entries of a given directory. Each time the iterator is called 59 | -- with dir_obj it returns a directory entry's name as a string, or nil if there are no more 60 | -- entries. You can also iterate by calling dir_obj:next(), and explicitly close the directory 61 | -- before the iteration finished with dir_obj:close(). Raises an error if path is not a directory. 62 | -- @param path 63 | -- @function lfs.dir 64 | 65 | --- Locks a file or a part of it. This function works on open files; the file handle should be 66 | -- specified as the first argument. The string mode could be either r (for a read/shared lock) 67 | -- or w (for a write/exclusive lock). The optional arguments start and length can be used to 68 | -- specify a starting point and its length; both should be numbers. 69 | -- 70 | -- Returns true if the operation was successful; in case of error, it returns nil plus an 71 | -- error string. 72 | -- @param filehandle 73 | -- @param mode 74 | -- @param[opt] start 75 | -- @param[optchain] length 76 | -- @function lfs.lock 77 | 78 | --- Creates a link. The first argument is the object to link to and the second is the name of the 79 | -- link. If the optional third argument is true, the link will be a symbolic link (by default, 80 | -- a hard link is created). 81 | -- @param old 82 | -- @param new 83 | -- @param[opt] symlink 84 | -- @function lfs.link 85 | 86 | --- Creates a new directory. The argument is the name of the new directory. 87 | -- 88 | -- Returns true in case of success or nil, an error message and a system-dependent error code 89 | -- in case of error. 90 | -- @param dirname 91 | -- @function lfs.mkdir 92 | 93 | --- Removes an existing directory. The argument is the name of the directory. 94 | -- 95 | -- Returns true in case of success or nil, an error message and a system-dependent error code 96 | -- in case of error. 97 | -- @param dirname 98 | -- @function lfs.rmdir 99 | 100 | --- Sets the writing mode for a file. The mode string can be either "binary" or "text". Returns 101 | -- true followed by the previous mode string for the file, or nil followed by an error string 102 | -- in case of errors. On non-Windows platforms, where the two modes are identical, setting 103 | -- the mode has no effect, and the mode is always returned as binary. 104 | -- @param file 105 | -- @param mode 106 | -- @function lfs.setmode 107 | 108 | --- Identical to lfs.attributes except that it obtains information about the link itself (not 109 | -- the file it refers to). It also adds a target field, containing the file name that the 110 | -- symlink points to. On Windows this function does not yet support links, and is identical 111 | -- to lfs.attributes. 112 | -- @param filepath 113 | -- @param[opt] aname 114 | -- @function lfs.symlinkattributes 115 | 116 | --- Set access and modification times of a file. This function is a bind to utime function. The 117 | -- first argument is the filename, the second argument (atime) is the access time, and the 118 | -- third argument (mtime) is the modification time. Both times are provided in seconds (which 119 | -- should be generated with Lua standard function os.time). If the modification time is omitted, 120 | -- the access time provided is used; if both times are omitted, the current time is used. 121 | -- 122 | -- Returns true in case of success or nil, an error message and a system-dependent error code 123 | -- in case of error. 124 | -- @param filepath 125 | -- @param[opt] atime 126 | -- @param[optchain] mtime 127 | -- @function lfs.touch 128 | 129 | --- Unlocks a file or a part of it. This function works on open files; the file handle should 130 | -- be specified as the first argument. The optional arguments start and length can be used to 131 | -- specify a starting point and its length; both should be numbers. 132 | -- 133 | -- Returns true if the operation was successful; in case of error, it returns nil plus an 134 | -- error string. 135 | -- @param filehandle 136 | -- @param[opt] start 137 | -- @param[optchain] length 138 | -- @function lfs.unlock 139 | -------------------------------------------------------------------------------- /doc/lpeg.luadoc: -------------------------------------------------------------------------------- 1 | --- @module lpeg 2 | 3 | --- The matching function. It attempts to match the given pattern against the subject string. If 4 | -- the match succeeds, returns the index in the subject of the first character after the match, 5 | -- or the captured values (if the pattern captured any value). 6 | -- 7 | -- An optional numeric argument `init` makes the match start at that position in the subject 8 | -- string. As usual in Lua libraries, a negative value counts from the end. 9 | -- 10 | -- Unlike typical pattern-matching functions, match works only in anchored mode; that is, it 11 | -- tries to match the pattern with a prefix of the given subject string (at position `init`), 12 | -- not with an arbitrary substring of the subject. So, if we want to find a pattern anywhere in 13 | -- a string, we must either write a loop in Lua or write a pattern that matches anywhere. This 14 | -- second approach is easy and quite efficient; see examples. 15 | -- @param pattern 16 | -- @param subject 17 | -- @param[opt] init 18 | -- @function lpeg.match 19 | 20 | --- If the given value is a pattern, returns the string "pattern". Otherwise returns nil. 21 | -- @param value 22 | -- @function lpeg.type 23 | 24 | --- Returns a string with the running version of LPeg. 25 | -- @function lpeg.version 26 | 27 | --- Sets the maximum size for the backtrack stack used by LPeg to track calls and choices. Most 28 | -- well-written patterns need little backtrack levels and therefore you seldom need to change 29 | -- this maximum; but a few useful patterns may need more space. Before changing this maximum 30 | -- you should try to rewrite your pattern to avoid the need for extra space. 31 | -- @param max 32 | -- @function lpeg.setmaxstack 33 | 34 | --- Converts the given value into a proper pattern, according to the following rules: 35 | -- 36 | -- - If the argument is a pattern, it is returned unmodified. 37 | -- - If the argument is a string, it is translated to a pattern that matches the string 38 | -- literally. 39 | -- - If the argument is a non-negative number n, the result is a pattern that matches exactly 40 | -- n characters. 41 | -- - If the argument is a negative number -n, the result is a pattern that succeeds only if the 42 | -- input string has less than n characters left: `lpeg.P(-n)` is equivalent to `-lpeg.P(n)` 43 | -- (see the unary minus operation). 44 | -- - If the argument is a boolean, the result is a pattern that always succeeds or always fails 45 | -- (according to the boolean value), without consuming any input. 46 | -- - If the argument is a table, it is interpreted as a grammar (see Grammars). 47 | -- - If the argument is a function, returns a pattern equivalent to a match-time capture over 48 | -- the empty string. 49 | -- @param value 50 | -- @function lpeg.P 51 | 52 | --- Returns a pattern that matches only if the input string at the current position is preceded 53 | -- by `patt`. Pattern `patt` must match only strings with some fixed length, and it cannot 54 | -- contain captures. 55 | -- 56 | -- Like the and predicate, this pattern never consumes any input, independently of success 57 | -- or failure. 58 | -- @param patt 59 | -- @function lpeg.B 60 | 61 | --- Returns a pattern that matches any single character belonging to one of the given ranges. Each 62 | -- `range` is a string xy of length 2, representing all characters with code between the codes 63 | -- of x and y (both inclusive). 64 | -- 65 | -- As an example, the pattern `lpeg.R("09")` matches any digit, and `lpeg.R("az", "AZ")` 66 | -- matches any ASCII letter. 67 | -- @param {range} 68 | -- @function lpeg.R 69 | 70 | --- Returns a pattern that matches any single character that appears in the given string. (The 71 | -- S stands for Set.) 72 | -- 73 | -- As an example, the pattern `lpeg.S("+-*/")` matches any arithmetic operator. 74 | -- 75 | -- Note that, if `s` is a character (that is, a string of length 1), then `lpeg.P(s)` is equivalent 76 | -- to `lpeg.S(s)` which is equivalent to `lpeg.R(s..s)`. Note also that both `lpeg.S("")` and 77 | -- `lpeg.R()` are patterns that always fail. 78 | -- @param string 79 | -- @function lpeg.S 80 | 81 | --- Returns a pattern that matches a valid UTF-8 byte sequence representing a code point in the 82 | -- range `[cp1, cp2]`. 83 | -- The range is limited by the natural Unicode limit of 0x10FFFF, but may include surrogates. 84 | -- 85 | -- New in LPeg 1.1.0. 86 | -- @param cp1 87 | -- @param cp2 88 | -- @function lpeg.utfR 89 | 90 | --- This operation creates a non-terminal (a variable) for a grammar. The created non-terminal 91 | -- refers to the rule indexed by `v` in the enclosing grammar. (See Grammars for details.) 92 | -- @param v 93 | -- @function lpeg.V 94 | 95 | --- Returns a table with patterns for matching some character classes according to the current 96 | -- locale. The table has fields named `alnum`, `alpha`, `cntrl`, `digit`, `graph`, `lower`, 97 | -- `print`, `punct`, `space`, `upper`, and `xdigit`, each one containing a correspondent 98 | -- pattern. Each pattern matches any single character that belongs to its class. 99 | -- 100 | -- If called with an argument `table`, then it creates those fields inside the given table and 101 | -- returns that table. 102 | -- @param[opt] table 103 | -- @function lpeg.locale 104 | 105 | --- Creates a simple capture, which captures the substring of the subject that matches `patt`. The 106 | -- captured value is a string. If `patt` has other captures, their values are returned after 107 | -- this one. 108 | -- @param patt 109 | -- @function lpeg.C 110 | 111 | --- Creates an argument capture. This pattern matches the empty string and produces the value 112 | -- given as the nth extra argument given in the call to `lpeg.match`. 113 | -- @param n 114 | -- @function lpeg.Carg 115 | 116 | --- Creates a back capture. This pattern matches the empty string and produces the values produced 117 | -- by the most recent group capture named `name`. 118 | -- 119 | -- Most recent means the last complete outermost group capture with the given name. A Complete 120 | -- capture means that the entire pattern corresponding to the capture has matched. An Outermost 121 | -- capture means that the capture is not inside another complete capture. 122 | -- 123 | -- In the same way that LPeg does not specify when it evaluates captures, it does not specify 124 | -- whether it reuses values previously produced by the group or re-evaluates them. 125 | -- @param name 126 | -- @function lpeg.Cb 127 | 128 | --- Creates a constant capture. This pattern matches the empty string and produces all given 129 | -- values as its captured values. 130 | -- @param[opt] value 131 | -- @param[opt] ... 132 | -- @function lpeg.Cc 133 | 134 | --- Creates a fold capture. If patt produces a list of captures C1 C2 ... Cn, this capture will 135 | -- produce the value func(...func(func(C1, C2), C3)..., Cn), that is, it will fold (or accumulate, 136 | -- or reduce) the captures from `patt` using function `func`. 137 | -- 138 | -- This capture assumes that `patt` should produce at least one capture with at least one value 139 | -- (of any type), which becomes the initial value of an accumulator. (If you need a specific 140 | -- initial value, you may prefix a constant capture to `patt`.) For each subsequent capture, 141 | -- LPeg calls `func` with this accumulator as the first argument and all values produced by 142 | -- the capture as extra arguments; the first result from this call becomes the new value for 143 | -- the accumulator. The final value of the accumulator becomes the captured value. 144 | -- 145 | -- As an example, the following pattern matches a list of numbers separated by commas and 146 | -- returns their addition: 147 | -- 148 | -- -- matches a numeral and captures its numerical value 149 | -- number = lpeg.R"09"^1 / tonumber 150 | -- -- matches a list of numbers, capturing their values 151 | -- list = number * ("," * number)^0 152 | -- -- auxiliary function to add two numbers 153 | -- function add (acc, newvalue) return acc + newvalue end 154 | -- -- folds the list of numbers adding them 155 | -- sum = lpeg.Cf(list, add) 156 | -- -- example of use 157 | -- print(sum:match("10,30,43")) --> 83 158 | -- 159 | -- Deprecated in LPeg 1.1.0. 160 | -- @param patt 161 | -- @param func 162 | -- @function lpeg.Cf 163 | 164 | --- Creates a group capture. It groups all values returned by `patt` into a single capture. The 165 | -- group may be anonymous (if no key is given) or named with the given key. 166 | -- 167 | -- An anonymous group serves to join values from several captures into a single capture. A named 168 | -- group has a different behavior. In most situations, a named group returns no values at all. Its 169 | -- values are only relevant for a following back capture or when used inside a table capture. 170 | -- @param patt 171 | -- @param[opt] key 172 | -- @function lpeg.Cg 173 | 174 | --- Creates a position capture. It matches the empty string and captures the position in the 175 | -- subject where the match occurs. The captured value is a number. 176 | -- @function lpeg.Cp 177 | 178 | --- Creates a substitution capture, which captures the substring of the subject that matches 179 | -- `patt`, with substitutions. For any capture inside `patt` with a value, the substring that 180 | -- matched the capture is replaced by the capture value (which should be a string). The final 181 | -- captured value is the string resulting from all replacements. 182 | -- @param patt 183 | -- @function lpeg.Cs 184 | 185 | --- Creates a table capture. This capture returns a table with all values from all anonymous 186 | -- captures made by `patt` inside this table in successive integer keys, starting at 1. Moreover, 187 | -- for each named capture group created by `patt`, the first value of the group is put into 188 | -- the table with the group key as its key. The captured value is only the table. 189 | -- @param patt 190 | -- @function lpeg.Ct 191 | 192 | --- Creates a match-time capture. Unlike all other captures, this one is evaluated immediately 193 | -- when a match occurs (even if it is part of a larger pattern that fails later). It forces 194 | -- the immediate evaluation of all its nested captures and then calls `function`. 195 | -- 196 | -- The given function gets as arguments the entire subject, the current position (after the 197 | -- match of `patt`), plus any capture values produced by `patt`. 198 | -- 199 | -- The first value returned by `function` defines how the match happens. If the call returns a 200 | -- number, the match succeeds and the returned number becomes the new current position. (Assuming 201 | -- a subject s and current position i, the returned number must be in the range [i, len(s) + 202 | -- 1].) If the call returns true, the match succeeds without consuming any input. (So, to return 203 | -- true is equivalent to return i.) If the call returns false, nil, or no value, the match fails. 204 | -- 205 | -- Any extra values returned by the function become the values produced by the capture. 206 | -- @param patt 207 | -- @param function 208 | -- @function lpeg.Cmt 209 | -------------------------------------------------------------------------------- /doc/math.luadoc: -------------------------------------------------------------------------------- 1 | --- @module math 2 | 3 | --- The float value `HUGE_VAL`, a value greater than any other numerical value. 4 | -- @field huge 5 | 6 | --- An integer with the maximum value for an integer. 7 | -- 8 | -- New in Lua 5.3. 9 | -- @field maxinteger 10 | 11 | --- An integer with the minimum value for an integer. 12 | -- 13 | -- New in Lua 5.3. 14 | -- @field mininteger 15 | 16 | --- The value of 'π'. 17 | -- @field pi 18 | 19 | --- Returns the maximum value between `x` and `-x`. (integer/float) 20 | -- @param x 21 | -- @function math.abs 22 | 23 | --- Returns the arc cosine of `x` (in radians). 24 | -- @param x 25 | -- @function math.acos 26 | 27 | --- Returns the arc sine of `x` (in radians). 28 | -- @param x 29 | -- @function math.asin 30 | 31 | --- Returns the arc tangent of `y/x` (in radians), but uses the signs of both parameters to find 32 | -- the quadrant of the result. It also handles correctly the case of `x` being zero. 33 | -- 34 | -- The default value for `x` is 1, so that the call `math.atan(y)` returns the arc tangent of `y`. 35 | -- @param y 36 | -- @param[opt] x 37 | -- @function math.atan 38 | 39 | --- Returns the arc tangent of `y/x` (in radians), using the signs of both parameters to find 40 | -- the quadrant of the result. (It also handles correctly the case of `x` being zero.) 41 | -- 42 | -- Deprecated in Lua 5.3. 43 | -- @param y 44 | -- @param x 45 | -- @function math.atan2 46 | 47 | --- Returns the smallest integral value greater than or equal to `x`. 48 | -- @param x 49 | -- @function math.ceil 50 | 51 | --- Returns the cosine of `x` (assumed to be in radians). 52 | -- @param x 53 | -- @function math.cos 54 | 55 | --- Returns the hyperbolic cosine of `x`. 56 | -- 57 | -- Deprecated in Lua 5.3. 58 | -- @param x 59 | -- @function math.cosh 60 | 61 | --- Converts the angle `x` from radians to degrees. 62 | -- @param x 63 | -- @function math.deg 64 | 65 | --- Returns the value *e^x*. 66 | -- @param x 67 | -- @function math.exp 68 | 69 | --- Returns the largest integral value less than or equal to `x`. 70 | -- @param x 71 | -- @function math.floor 72 | 73 | --- Returns the remainder of the division of `x` by `y` that rounds the quotient towards 74 | -- zero. (integer/float) 75 | -- @param x 76 | -- @param y 77 | -- @function math.fmod 78 | 79 | --- Returns `m` and `e` such that 'x = m2^e', `e` is an integer and the absolute value of `m` 80 | -- is in the range *[0.5, 1)* (or zero when `x` is zero). 81 | -- 82 | -- Deprecated in Lua 5.3. 83 | -- @param x 84 | -- @function math.frexp 85 | 86 | --- Returns 'm2^e' (`e` should be an integer). 87 | -- 88 | -- Deprecated in Lua 5.3. 89 | -- @param m 90 | -- @param e 91 | -- @function math.ldexp 92 | 93 | --- Returns the logarithm of `x` in the given base. The default for `base` is 'e' (so that the 94 | -- function returns the natural logarithm of `x`). 95 | -- @param x 96 | -- @param[opt] base 97 | -- @function math.log 98 | 99 | --- Returns the base-10 logarithm of `x`. 100 | -- 101 | -- Deprecated in Lua 5.2. 102 | -- @param x 103 | -- @function math.log10 104 | 105 | --- Returns the argument with the maximum value, according to the Lua operator `<`. 106 | -- @param x 107 | -- @param ... 108 | -- @function math.max 109 | 110 | --- Returns the argument with the minimum value, according to the Lua operator `<`. 111 | -- @param x 112 | -- @param ... 113 | -- @function math.min 114 | 115 | --- Returns the integral part of `x` and the fractional part of `x`. Its second result is always 116 | -- a float. 117 | -- @param x 118 | -- @function math.modf 119 | 120 | --- Returns *x^y*. (You can also use the expression `x^y` to compute this value.) 121 | -- 122 | -- Deprecated in Lua 5.3. 123 | -- @param x 124 | -- @param y 125 | -- @function math.pow 126 | 127 | --- Converts the angle `x` from degrees to radians. 128 | -- @param x 129 | -- @function math.rad 130 | 131 | --- When called without arguments, returns a pseudo-random float with uniform distribution in the 132 | -- range [0,1). When called with two integers `m` and `n`, `math.random` returns a pseudo-random 133 | -- integer with uniform distribution in the range `[m, n]. The call `math.random(n)`, for a 134 | -- positive `n`, is equivalent to `math.random(1,n)`. The call `math.random(0)` produces an 135 | -- integer with all bits (pseudo)random. 136 | -- 137 | -- This function uses the `xoshiro256**` algorithm to produce pseudo-random 64-bit integers, 138 | -- which are the results of calls with argument 0. Other results (ranges and floats) are unbiased 139 | -- extracted from these integers. 140 | -- 141 | -- Lua initializes its pseudo-random generator with the equivalent of a call to `math.randomseed` 142 | -- with no arguments, so that `math.random` should generate different sequences of results each 143 | -- time the program runs. 144 | -- @param[opt] m 145 | -- @param[optchain] n 146 | -- @function math.random 147 | 148 | --- When called with at least one argument, the integer parameters `x` and `y` are joined into a 149 | -- 128-bit *seed* that is used to reinitialize the pseudo-random generator; equal seeds produce 150 | -- equal sequences of numbers. The default for `y` is zero. 151 | -- 152 | -- When called with no arguments, Lua generates a seed with a weak attempt for randomness. 153 | -- 154 | -- This function returns the two seed components that were effectively used, so that setting 155 | -- them again repeats the sequence. 156 | -- 157 | -- To ensure a required level of randomness to the initial state (or contrarily, to have 158 | -- a deterministic sequence, for instance when debugging a program), you should call 159 | -- `math.randomseed` with explicit arguments. 160 | -- @param[opt] x 161 | -- @param[optchain] y 162 | -- @function math.randomseed 163 | 164 | --- Returns the sine of `x` (assumed to be in radians). 165 | -- @param x 166 | -- @function math.sin 167 | 168 | --- Returns the hyperbolic sine of `x`. 169 | -- 170 | -- Deprecated in Lua 5.3. 171 | -- @param x 172 | -- @function math.sinh 173 | 174 | --- Returns the square root of `x`. (You can also use the expression `x^0.5` to compute this 175 | -- value.) 176 | -- @param x 177 | -- @function math.sqrt 178 | 179 | --- Returns the tangent of `x` (assumed to be in radians). 180 | -- @param x 181 | -- @function math.tan 182 | 183 | --- Returns the hyperbolic tangent of `x`. 184 | -- 185 | -- Deprecated in Lua 5.3. 186 | -- @param x 187 | -- @function math.tanh 188 | 189 | --- If the value `x` is convertible to an integer, returns that integer. Otherwise, returns nil. 190 | -- 191 | -- New in Lua 5.3. 192 | -- @param x 193 | -- @function math.tointeger 194 | 195 | --- Returns "integer" if `x` is an integer, "float" if it is a float, or nil if x is not a number. 196 | -- 197 | -- New in Lua 5.3. 198 | -- @param x 199 | -- @function math.type 200 | 201 | --- Returns a boolean, true if integer `m` is below integer `n` when they are compared as 202 | -- unsigned integers. 203 | -- 204 | -- New in Lua 5.3. 205 | -- @param m 206 | -- @param n 207 | -- @function math.ult 208 | -------------------------------------------------------------------------------- /doc/os.luadoc: -------------------------------------------------------------------------------- 1 | --- @module os 2 | 3 | --- Returns an approximation of the amount in seconds of CPU time used by the program, as returned 4 | -- by the underlying ISO C function `clock`. 5 | -- @function os.clock 6 | 7 | --- Returns a string or a table containing date and time, formatted according to the given string 8 | -- `format`. 9 | -- 10 | -- If the `time` argument is present, this is the time to be formatted (see the `os.time` 11 | -- function for a description of this value). Otherwise, `date` formats the current time. 12 | -- 13 | -- If `format` starts with '`!`', then the date is formatted in Coordinated Universal Time. After 14 | -- this optional character, if `format` is the string "`*t`", then `date` returns a table with 15 | -- the following fields: `year`, `month` (1-12), `day` (1-31), `hour` (0-23), `min` (0-59), 16 | -- `sec` (0-61, due to leap seconds), `wday` (weekday, 1-7, Sunday is 1), `yday` (day of the 17 | -- year, 1-366), and `isdst` (daylight saving flag, a boolean). This last field may be absent 18 | -- if the information is not available. 19 | -- 20 | -- If `format` is not "`*t`", then `date` returns the date as a string, formatted according to 21 | -- the same rules as the ISO C function `strftime`. 22 | -- 23 | -- If `format` is absent, it defaults to "`%c`", which gives a human-readable date and time 24 | -- representation using the current locale. 25 | -- 26 | -- On non-POSIX systems, this function may be not thread safe because of its reliance on C 27 | -- function `gmtime` and C function `localtime`. 28 | -- @param[opt] format 29 | -- @param[optchain] time 30 | -- @function os.date 31 | 32 | --- Returns the difference, in seconds, from time `t1` to time `t2` (where the times are values 33 | -- returned by `os.time`). In POSIX, Windows, and some other systems, this value is exactly 34 | -- `t2`*-*`t1`. 35 | -- @param t2 36 | -- @param t1 37 | -- @function os.difftime 38 | 39 | --- This function is equivalent to the ISO C function `system`. It passes `command` to be 40 | -- executed by an operating system shell. Its first result is `true` if the command terminated 41 | -- successfully, or `nil` otherwise. After this first result the function returns a string plus 42 | -- a number, as follows: 43 | -- 44 | -- - "exit": the command terminated normally; the following number is the exit status of 45 | -- the command. 46 | -- - "signal": the command was terminated by a signal; the following number is the signal 47 | -- that terminated the command. 48 | -- 49 | -- When called without a `command`, `os.execute` returns a boolean that is true if a shell 50 | -- is available. 51 | -- @param[opt] command 52 | -- @function os.execute 53 | 54 | --- Calls the ISO C function `exit` to terminate the host program. If `code` is `true`, 55 | -- the returned status is `EXIT_SUCCESS`; if `code` is `false`, the returned status is 56 | -- `EXIT_FAILURE`; if `code` is a number, the returned status is this number. The default 57 | -- value for `code` is `true`. 58 | -- 59 | -- If the optional second argument `close` is true, the function closes the Lua state before 60 | -- exiting (see `lua_close`). 61 | -- @param[opt] code 62 | -- @param[optchain] close 63 | -- @function os.exit 64 | 65 | --- Returns the value of the process environment variable `varname`, or nil if the variable is 66 | -- not defined. 67 | -- @param varname 68 | -- @function os.getenv 69 | 70 | --- Deletes the file (or empty directory, on POSIX systems) with the given name. If this function 71 | -- fails, it returns nil, plus a string describing the error and the error code. 72 | -- @param filename 73 | -- @function os.remove 74 | 75 | --- Renames file or directory named `oldname` to `newname`. If this function fails, it returns 76 | -- nil, plus a string describing the error and the error code. 77 | -- @param oldname 78 | -- @param newname 79 | -- @function os.rename 80 | 81 | --- Sets the current locale of the program. `locale` is a system-dependent string specifying 82 | -- a locale; `category` is an optional string describing which category to change: `"all"`, 83 | -- `"collate"`, `"ctype"`, `"monetary"`, `"numeric"`, or `"time"`; the default category is 84 | -- `"all"`. The function returns the name of the new locale, or nil if the request cannot 85 | -- be honored. 86 | -- 87 | -- If `locale` is the empty string, the current locale is set to an implementation-defined native 88 | -- locale. If `locale` is the string "`C`", the current locale is set to the standard C locale. 89 | -- 90 | -- When called with nil as the first argument, this function only returns the name of the 91 | -- current locale for the given category. 92 | -- 93 | -- This function may not be thread safe because of its reliance on C function `setlocale`. 94 | -- @param locale 95 | -- @param[opt] category 96 | -- @function os.setlocale 97 | 98 | --- Returns the current time when called without arguments, or a time representing the date and 99 | -- time specified by the given table. This table must have fields `year`, `month`, and `day`, 100 | -- and may have fields `hour` (default is 12), `min` (default is 0), `sec` (default is 0), and 101 | -- `isdst` (default is nil). For a description of these fields, see the `os.date` function. 102 | -- 103 | -- When the function is called, the values in these fields do not need to be inside their 104 | -- valid ranges. For instance, if `sec` is -10, it means 10 seconds before the time specified 105 | -- by the other fields; if `hour` is 1000, it means 1000 hours after the time specified by the 106 | -- other fields. 107 | -- 108 | -- The returned value is a number, whose meaning depends on your system. In POSIX, Windows, 109 | -- and some other systems, this number counts the number of seconds since some given start time 110 | -- (the "epoch"). In other systems, the meaning is not specified, and the number returned by 111 | -- `time` can be used only as an argument to `os.date` and `os.difftime`. 112 | -- 113 | -- When called with a table, `os.time` also normalizes all the fields documented in the `os.date` 114 | -- function, so that they represent the same time as before the call but with values inside 115 | -- their valid ranges. 116 | -- @param[opt] table 117 | -- @function os.time 118 | 119 | --- Returns a string with a file name that can be used for a temporary file. The file must be 120 | -- explicitly opened before its use and explicitly removed when no longer needed. 121 | -- 122 | -- On POSIX systems, this function also creates a file with that name, to avoid security 123 | -- risks. (Someone else might create the file with wrong permissions in the time between getting 124 | -- the name and creating the file.) You still have to open the file to use it and to remove it 125 | -- (even if you do not use it). 126 | -- 127 | -- When possible, you may prefer to use `io.tmpfile`, which automatically removes the file when 128 | -- the program ends. 129 | -- @function os.tmpname 130 | -------------------------------------------------------------------------------- /doc/package.luadoc: -------------------------------------------------------------------------------- 1 | --- @module package 2 | 3 | --- Loads the given module. The function starts by looking into the `package.loaded` table to 4 | -- determine whether `modname` is already loaded. If it is, then `require` returns the value 5 | -- stored at `package.loaded[modname]`. (The absence of a second result in this case signals 6 | -- that this call did not have to load the module.) Otherwise, it tries to find a *loader* 7 | -- for the module. 8 | -- 9 | -- To find a loader, `require` is guided by the table `package.searchers`. Each item in this 10 | -- table is a search function, that searches for the module in a particular way. By changing 11 | -- this table, we can change how `require` looks for a module. The following explanation is 12 | -- based on the default configuration for `package.searchers`. 13 | -- 14 | -- First `require` queries `package.preload[modname]`. If it has a value, this value (which must be 15 | -- a function) is the loader. Otherwise `require` searches for a Lua loader using the path stored 16 | -- in `package.path`. If that also fails, it searches for a C loader using the path stored in 17 | -- `package.cpath`. If that also fails, it tries an *all-in-one* loader (see `package.searchers`). 18 | -- 19 | -- Once a loader is found, `require` calls the loader with two arguments: `modname` and an 20 | -- extra value, a *loader data*, also returned by the searcher. The loader data can be any 21 | -- value useful to the module; for the default searchers, it indicates where the loader 22 | -- was found. (For instance, if the loader came from a file, this extra value is the file 23 | -- path.) If the loader returns any non-nil value, `require` assigns the returned value to 24 | -- `package.loaded[modname]`. If the loader does not return a non-nil value and has not assigned 25 | -- any value to `package.loaded[modname]`, then `require` assigns true to this entry. In any 26 | -- case, `require` returns the final value of `package.loaded[modname]`. Besides that value, 27 | -- `require` also returns as a second result the loader data returned by the searcher, which 28 | -- indicates how `require` found the module. 29 | -- 30 | -- If there is any error loading or running the module, or if it cannot find any loader for 31 | -- the module, then `require` raises an error. 32 | -- @param modname 33 | -- @function _G.require 34 | 35 | --- A string describing some compile-time configurations for packages. This string is a sequence 36 | -- of lines: 37 | -- 38 | -- - The first line is the directory separator string. Default is '`\`' for Windows and '`/`' 39 | -- for all other systems. 40 | -- - The second line is the character that separates templates in a path. Default is '`;`'. 41 | -- - The third line is the string that marks the substitution points in a template. Default is 42 | -- '`?`'. 43 | -- - The fourth line is a string that, in a path in Windows, is replaced by the executable's 44 | -- directory. Default is '`!`'. 45 | -- - The fifth line is a mark to ignore all text after it when building the `luaopen_` 46 | -- function name. Default is '`-`'. 47 | -- 48 | -- New in Lua 5.2. 49 | -- @field config 50 | 51 | --- A string with the path used by `require` to search for a C loader. 52 | -- 53 | -- Lua initializes the C path `package.cpath` in the same way it initializes the Lua path 54 | -- `package.path`, using the environment variable `LUA_CPATH_5_4` or the environment variable 55 | -- `LUA_CPATH` or a default path defined in `luaconf.h`. 56 | -- @field cpath 57 | 58 | --- A table used by `require` to control which modules are already loaded. When you require a 59 | -- module `modname` and `package.loaded[modname]` is not false, `require` simply returns the 60 | -- value stored there. 61 | -- 62 | -- This variable is only a reference to the real table; assignments to this variable do not 63 | -- change the table used by `require`. The real table is stored in the C registry (see §4.3), 64 | -- indexed by the key `LUA_LOADED_TABLE`, a string. 65 | -- @table loaded 66 | 67 | --- See `package.searchers`. 68 | -- 69 | -- Deprecated in Lua 5.2. 70 | -- @table loaders 71 | 72 | --- A string with the path used by `require` to search for a Lua loader. 73 | -- 74 | -- At start-up, Lua initializes this variable with the value of the environment variable 75 | -- `LUA_PATH_5_4` or the environment variable `LUA_PATH` or with a default path defined in 76 | -- `luaconf.h`, if those environment variables are not defined. A "`;;`" in the value of the 77 | -- environment variable is replaced by the default path. 78 | -- @field path 79 | 80 | --- A table to store loaders for specific modules (see `require`). 81 | -- 82 | -- This variable is only a reference to the real table; assignments to this variable do not 83 | -- change the table used by `require`. The real table is stored in the C registry (see §4.3), 84 | -- indexed by the key `LUA_LOADED_TABLE`, a string. 85 | -- @table preload 86 | 87 | --- A table used by `require` to control how to find modules. 88 | -- 89 | -- Each entry in this table is a *searcher function*. When looking for a module, `require` 90 | -- calls each of these searchers in ascending order, with the module name (the argument given 91 | -- to `require`) as its sole argument. If the searcher finds the module, it returns another 92 | -- function, the module *loader*, plus an extra value, a *loader data*, that will be passed 93 | -- to that loader and returned as a second result by `require`. If it cannot find the module, 94 | -- it returns a string explaining why (or nil if it has nothing to say). 95 | -- 96 | -- Lua initializes this table with four functions. 97 | -- 98 | -- The first searcher simply looks for a loader in the `package.preload` table. 99 | -- 100 | -- The second searcher looks for a loader as a Lua library, using the path stored at 101 | -- `package.path`. The search is done as described in function `package.searchpath`. 102 | -- 103 | -- The third searcher looks for a loader as a C library, using the path given by the variable 104 | -- `package.cpath`. Again, the search is done as described in function `package.searchpath`. For 105 | -- instance, if the C path is the string 106 | -- 107 | -- "./?.so;./?.dll;/usr/local/?/init.so" 108 | -- 109 | -- the searcher for module `foo` will try to open the files `./foo.so`, `./foo.dll`, and 110 | -- `/usr/local/foo/init.so`, in that order. Once it finds a C library, this searcher first uses 111 | -- a dynamic link facility to link the application with the library. Then it tries to find a 112 | -- C function inside the library to be used as the loader. The name of this C function is the 113 | -- string "`luaopen_`" concatenated with a copy of the module name where each dot is replaced 114 | -- by an underscore. Moreover, if the module name has a hyphen, its suffix after (and including) 115 | -- the first hyphen is removed. For instance, if the module name is `a.b.c-v2.1 `, the function 116 | -- name will be `luaopen_a_b_c`. 117 | -- 118 | -- The fourth searcher tries an *all-in-one loader*. It searches the C path for a library for 119 | -- the root name of the given module. For instance, when requiring `a.b.c`, it will search for 120 | -- a C library for `a`. If found, it looks into it for an open function for the submodule; in 121 | -- our example, that would be `luaopen_a_b_c`. With this facility, a package can pack several 122 | -- C submodules into one single library, with each submodule keeping its original open function. 123 | -- 124 | -- All searchers except the first one (preload) return as the extra value the file path where 125 | -- the module was found, as returned by `package.searchpath`. The first searcher always returns 126 | -- the string "`:preload:`". 127 | -- 128 | -- Searchers should raise no errors and have no side effects in Lua. (They may have side effects 129 | -- in C, for instance by linking the application with a library.) 130 | -- 131 | -- New in Lua 5.2. 132 | -- @table searchers 133 | 134 | --- Dynamically links the host program with the C library `libname`. 135 | -- 136 | -- If `funcname` is "`*`", then it only links with the library, making the symbols exported 137 | -- by the library available to other dynamically linked libraries. Otherwise, it looks for 138 | -- a function `funcname` inside the library and returns this function as a C function. So, 139 | -- `funcname` must follow the `lua_CFunction` prototype (see `lua_CFunction`). 140 | -- 141 | -- This is a low-level function. It completely bypasses the package and module system. Unlike 142 | -- `require`, it does not perform any path searching and does not automatically adds 143 | -- extensions. `libname` must be the complete file name of the C library, including if necessary 144 | -- a path and an extension. `funcname` must be the exact name exported by the C library (which 145 | -- may depend on the C compiler and linker used). 146 | -- 147 | -- This functionality is not supported by ISO C. As such, it is only available on some platforms 148 | -- (Windows, Linux, Mac OS X, Solaris, BSD, plus other Unix systems that support the `dlfcn` 149 | -- standard). 150 | -- 151 | -- This function is inherently insecure, as it allows Lua to call any function in any readable 152 | -- dynamic library in the system. (Lua calls any function assuming the function has a proper 153 | -- prototype and respects a proper protocol (see lua_CFunction). Therefore, calling an arbitrary 154 | -- function in an arbitrary dynamic library more often than not results in an access violation.) 155 | -- @param libname 156 | -- @param funcname 157 | -- @function package.loadlib 158 | 159 | --- Searches for the given `name` in the given `path`. 160 | -- 161 | -- A path is a string containing a sequence of _templates_ separated by semicolons. For each 162 | -- template, the function replaces each interrogation mark (if any) in the template with a copy 163 | -- of `name` wherein all occurrences of `sep` (a dot, by default) were replaced by `rep` (the 164 | -- system's directory separator, by default), and then tries to open the resulting file name. 165 | -- For instance, if the path is the string 166 | -- 167 | -- "./?.lua;./?.lc;/usr/local/?/init.lua" 168 | -- 169 | -- the search for the name `foo.a` will try to open the files `./foo/a.lua`, `./foo/a.lc`, and 170 | -- `/usr/local/foo/a/init.lua`, in that order. 171 | -- 172 | -- Returns the resulting name of the first file that it can open in read mode (after closing 173 | -- the file), or nil plus an error message if none succeeds. (This error message lists all file 174 | -- names it tried to open.) 175 | -- 176 | -- New in Lua 5.2. 177 | -- @param name 178 | -- @param path 179 | -- @param[opt] sep 180 | -- @param[optchain] rep 181 | -- @function package.searchpath 182 | 183 | --- Sets a metatable for `module` with its `__index` field referring to the global environment, 184 | -- so that this module inherits values from the global environment. To be used as an option to 185 | -- function `module`. 186 | -- 187 | -- Deprecated in Lua 5.2. 188 | -- @param module 189 | -- @function package.seeall 190 | -------------------------------------------------------------------------------- /doc/regex.luadoc: -------------------------------------------------------------------------------- 1 | --- @module regex 2 | 3 | --- Searches string *s* for regex string *re* starting at position *init*, and returns the start 4 | -- and end positions of the match followed by any string values captured by *re*. 5 | -- Returns `nil` if no match was found. 6 | -- @param s String to search. 7 | -- @param re Regular expression to search with. 8 | -- @param[opt] init Optional initial position to start searching at. The default value is `1`. 9 | -- @function find 10 | 11 | --- Returns an iterator that can be used in a `for` loop to iterate over all occurrences of 12 | -- regex string *re* in string *s* starting at position *init*. 13 | -- If *re* has captures, the captured values are assigned to loop variables. Otherwise, the 14 | -- entire match is used. 15 | -- @param s String to search. 16 | -- @param re Regular expression to search with. 17 | -- @param[opt] init Optional initial position to start searching at. The default value is `1`. 18 | -- @function gmatch 19 | 20 | --- Returns a copy of string *s* where all (or the first *n*) instances of regex string *re* 21 | -- are replaced by string, table, or function *replacement*, and also returns the number of 22 | -- replacements made. 23 | -- @param s String to search. 24 | -- @param re Regular expression to search with. 25 | -- @param replacement String, table, or function to replace matches with. If a string, it may 26 | -- contain "$*d*" sequences, which represent the *d*-th value captured by *re*. If a table, 27 | -- and the match or first capture exists as a key, that key's value is the replacement text. If 28 | -- a function, that function is called with either the captured values or the entire match 29 | -- as arguments. If the function returns a string or number, that result is the replacement text. 30 | -- @param[opt] n Maximum number of replacements to make. The default value is `0`, which means 31 | -- there is no limit. 32 | -- @function gsub 33 | 34 | --- Searches string *s* for regex string *re* starting at position *init*, and returns either 35 | -- the values captured by *re* or the entire match itself. 36 | -- Returns `nil` if no match was found. 37 | -- @param s String to search. 38 | -- @param re Regular expression to search with. 39 | -- @param[opt] init Optional initial position to start searching at. The default value is `1`. 40 | -- @function match 41 | -------------------------------------------------------------------------------- /doc/string.luadoc: -------------------------------------------------------------------------------- 1 | --- @module string 2 | 3 | --- Returns the internal numerical codes of the characters `s[i]`, `s[i+1]`, ···, `s[j]`. The 4 | -- default value for `i` is 1; the default value for `j` is `i`. These indices are corrected 5 | -- following the same rules of function `string.sub`. 6 | -- 7 | -- Numerical codes are not necessarily portable across platforms. 8 | -- @param s 9 | -- @param[opt] i 10 | -- @param[optchain] j 11 | -- @function string.byte 12 | 13 | --- Receives zero or more integers. Returns a string with length equal to the number of arguments, 14 | -- in which each character has the internal numerical code equal to its corresponding argument. 15 | -- 16 | -- Numerical codes are not necessarily portable across platforms. 17 | -- @param ... 18 | -- @function string.char 19 | 20 | --- Returns a string containing a binary representation (a _binary chunk_) of the given 21 | -- function, so that a later `load` on this string returns a copy of the function (but with 22 | -- new upvalues). If `strip` is a true value, the binary representation is created without 23 | -- debug information about the function (local variable names, lines, etc.). 24 | -- 25 | -- Functions with upvalues have only their number of upvalues saved. When (re)loaded, those 26 | -- upvalues receive fresh instances. (See the `load` function for details about how these 27 | -- upvalues are initialized. You can use the debug library to serialize and reload the upvalues 28 | -- of a function in a way adequate to your needs.) 29 | -- @param function 30 | -- @param[opt] strip 31 | -- @function string.dump 32 | 33 | --- Looks for the first match of `pattern` (see §6.4.1) in the string `s`. If it finds a match, 34 | -- then `find` returns the indices of `s` where this occurrence starts and ends; otherwise, 35 | -- it returns nil. A third, optional numerical argument `init` specifies where to start the 36 | -- search; its default value is 1 and can be negative. A value of true as a fourth, optional 37 | -- argument `plain` turns off the pattern matching facilities, so the function does a plain 38 | -- "find substring" operation, with no characters in `pattern` being considered magic. 39 | -- 40 | -- If the pattern has captures, then in a successful match the captured values are also returned, 41 | -- after the two indices. 42 | -- @param s 43 | -- @param pattern 44 | -- @param[opt] init 45 | -- @param[optchain] plain 46 | -- @function string.find 47 | 48 | --- Returns a formatted version of its variable number of arguments following the description 49 | -- given in its first argument, which must be a string. The format string follows the same rules 50 | -- as the ISO C function `sprintf`. The only differences are that the conversion specifiers and 51 | -- modifiers `*`, `h`, `L`, `l`, and `n` are not supported and that there is an extra specifier, 52 | -- `q`. 53 | -- 54 | -- The specifier `q` formats booleans, nil, numbers, and strings in a way that the result is a 55 | -- valid constant in Lua source code. Booleans and nil are written in the obvious way (`true`, 56 | -- `false`, `nil`). Floats are written in hexadecimal, to preserve full precision. A string is 57 | -- written between double quotes, using escape sequences when necessary to ensure that it can 58 | -- safely be read back by the Lua interpreter. For instance, the call 59 | -- 60 | -- string.format('%q', 'a string with "quotes" and \n new line') 61 | -- 62 | -- may produce the string: 63 | -- 64 | -- "a string with \"quotes\" and \ new line" 65 | -- 66 | -- This specifier does not support modifiers (flags, width, length). 67 | -- 68 | -- The conversion specifiers `A` and `a` (when available), `E`, `e`, `f`, `G`, and `g` all 69 | -- expect a number as argument. The specifiers `c`, `d`, `i`, `o`, `u`, `X`, and `x` expect an 70 | -- integer. When Lua is compiled with a C89 compiler, the specifiers `A` and `a` (hexadecimal 71 | -- floats) do not support modifiers. 72 | -- 73 | -- The specifier `s` expects a string; if its argument is not a string, it is converted to one 74 | -- following the same rules of `tostring`. If the specifier has any modifier, the corresponding 75 | -- string argument should not contain zeros. 76 | -- 77 | -- The specifier `p` formats the pointer returned by `lua_topointer`. That gives a unique string 78 | -- identifier for tables, userdata, threads, strings, and functions. For other values (numbers, 79 | -- nil, booleans), this specifier results in a string representing the pointer `NULL`. 80 | -- @param formatstring 81 | -- @param ... 82 | -- @function string.format 83 | 84 | --- Returns an iterator function that, each time it is called, returns the next captures from 85 | -- `pattern` (see §6.4.1) over the string `s`. If `pattern` specifies no captures, then the 86 | -- whole match is produced in each call. A third, optional argument `init` specifies where to 87 | -- start the search; its default value is 1 and can be negative. 88 | -- 89 | -- As an example, the following loop will iterate over all the words from string `s`, printing 90 | -- one per line: 91 | -- 92 | -- s = "hello world from Lua" for w in string.gmatch(s, "%a+") do 93 | -- print(w) end 94 | -- 95 | -- The next example collects all pairs `key=value` from the given string into a table: 96 | -- 97 | -- t = {} s = "from=world, to=Lua" for k, v in string.gmatch(s, "(%w+)=(%w+)") do 98 | -- t[k] = v end 99 | -- 100 | -- For this function, a caret '`^`' at the start of a pattern does not work as an anchor, 101 | -- as this would prevent the iteration. 102 | -- @param s 103 | -- @param pattern 104 | -- @param[opt] init 105 | -- @function string.gmatch 106 | 107 | --- Returns a copy of `s` in which all (or the first `n`, if given) occurrences of the `pattern` 108 | -- (see §6.4.1) have been replaced by a replacement string specified by `repl`, which can be 109 | -- a string, a table, or a function. `gsub` also returns, as its second value, the total number 110 | -- of matches that occurred. The name `gsub` comes from "Global SUBstitution". 111 | -- 112 | -- If `repl` is a string, then its value is used for replacement. The character `%` works as an 113 | -- escape character: any sequence in `repl` of the form `%d`, with `d` between 1 and 9, stands 114 | -- for the value of the `d`-th captured substring; the sequence `%0` stands for the whole match; 115 | -- the sequence `%%` stands for a single `%`. 116 | -- 117 | -- If `repl` is a table, then the table is queried for every match, using the first capture as 118 | -- the key. 119 | -- 120 | -- If `repl` is a function, then this function is called every time a match occurs, with all 121 | -- captured substrings passed as arguments, in order. 122 | -- 123 | -- In any case, if the pattern specifies no captures, then it behaves as if the whole pattern 124 | -- was inside a capture. 125 | -- 126 | -- If the value returned by the table query or by the function call is a string or a number, 127 | -- then it is used as the replacement string; otherwise, if it is false or nil, then there is 128 | -- no replacement (that is, the original match is kept in the string). 129 | -- 130 | -- Here are some examples: 131 | -- 132 | -- x = string.gsub("hello world", "(%w+)", "%1 %1") --> x="hello hello world world" x = 133 | -- string.gsub("hello world", "%w+", "%0 %0", 1) --> x="hello hello world" x = string.gsub("hello 134 | -- world from Lua", "(%w+)%s*(%w+)", "%2 %1") --> x="world hello Lua from" x = string.gsub("home 135 | -- = $HOME, user = $USER", "%$(%w+)", os.getenv) --> x="home = /home/roberto, user = roberto" 136 | -- x = string.gsub("4+5 = $return 4+5$", "%$(.-)%$", function (s) 137 | -- return load(s)() end) 138 | -- --> x="4+5 = 9" local t = {name="lua", version="5.4"} x = string.gsub("$name-$version.tar.gz", 139 | -- "%$(%w+)", t) --> x="lua-5.4.tar.gz" 140 | -- @param s 141 | -- @param pattern 142 | -- @param repl 143 | -- @param[opt] n 144 | -- @function string.gsub 145 | 146 | --- Receives a string and returns its length. The empty string `""` has length 0. Embedded zeros 147 | -- are counted, so `"a\000bc\000"` has length 5. 148 | -- @param s 149 | -- @function string.len 150 | 151 | --- Receives a string and returns a copy of this string with all uppercase letters changed to 152 | -- lowercase. All other characters are left unchanged. The definition of what an uppercase 153 | -- letter is depends on the current locale. 154 | -- @param s 155 | -- @function string.lower 156 | 157 | --- Looks for the first *match* of the `pattern` (see §6.4.1) in the string `s`. If it finds one, 158 | -- then `match` returns the captures from the pattern; otherwise it returns nil. If `pattern` 159 | -- specifies no captures, then the whole match is returned. A third, optional numerical argument 160 | -- `init` specifies where to start the search; its default value is 1 and can be negative. 161 | -- @param s 162 | -- @param pattern 163 | -- @param[opt] init 164 | -- @function string.match 165 | 166 | --- Returns a binary string containing the values `v1`, `v2`, etc. serialized in binary form 167 | -- (packed) according to the format string `fmt` (see §6.4.2). 168 | -- 169 | -- New in Lua 5.3. 170 | -- @param fmt 171 | -- @param v1 172 | -- @param v2 173 | -- @param ... 174 | -- @function string.pack 175 | 176 | --- Returns the length of a string resulting from `string.pack` with the given format. The format 177 | -- string cannot have the variable-length options 's' or 'z' (see §6.4.2). 178 | -- 179 | -- New in Lua 5.3. 180 | -- @param fmt 181 | -- @function string.packsize 182 | 183 | --- Returns a string that is the concatenation of `n` copies of the string `s` separated by the 184 | -- string `sep`. The default value for `sep` is the empty string (that is, no separator). Returns 185 | -- the empty string if `n` is not positive. 186 | -- 187 | -- (Note that it is very easy to exhaust the memory of your machine with a single call to 188 | -- this function.) 189 | -- @param s 190 | -- @param n 191 | -- @param[opt] sep 192 | -- @function string.rep 193 | 194 | --- Returns a string that is the string `s` reversed. 195 | -- @param s 196 | -- @function string.reverse 197 | 198 | --- Returns the substring of `s` that starts at `i` and continues until `j`; `i` and `j` can 199 | -- be negative. If `j` is absent, then it is assumed to be equal to -1 (which is the same as 200 | -- the string length). In particular, the call `string.sub(s,1,j)` returns a prefix of `s` 201 | -- with length `j`, and `string.sub(s, -i)` returns a suffix of `s` with length `i`. 202 | -- 203 | -- If, after the translation of negative indices, `i` is less than 1, it is corrected to 1. If `j` 204 | -- is greater than the string length, it is corrected to that length. If, after these corrections, 205 | -- `i` is greater than `j`, the function returns the empty string. 206 | -- @param s 207 | -- @param i 208 | -- @param[opt] j 209 | -- @function string.sub 210 | 211 | --- Returns the values packed in string `s` (see `string.pack`) according to the format string 212 | -- `fmt` (see §6.4.2). An optional `pos` marks where to start reading in `s` (default is 213 | -- 1). After the read values, this function also returns the index of the first unread byte in `s`. 214 | -- 215 | -- New in Lua 5.3. 216 | -- @param fmt 217 | -- @param s 218 | -- @param[opt] pos 219 | -- @function string.unpack 220 | 221 | --- Receives a string and returns a copy of this string with all lowercase letters changed to 222 | -- uppercase. All other characters are left unchanged. The definition of what a lowercase letter 223 | -- is depends on the current locale. 224 | -- @param s 225 | -- @function string.upper 226 | -------------------------------------------------------------------------------- /doc/table.luadoc: -------------------------------------------------------------------------------- 1 | --- @module table 2 | 3 | --- Given a list where all elements are strings or numbers, returns the string 4 | -- `list[i]..sep..list[i+1] ··· sep..list[j]`. The default value for `sep` is the empty 5 | -- string, the default for `i` is 1, and the default for `j` is `#list`. If `i` is greater than 6 | -- `j`, returns the empty string. 7 | -- @param list 8 | -- @param[opt] sep 9 | -- @param[optchain] i 10 | -- @param[optchain] j 11 | -- @function table.concat 12 | 13 | --- Inserts element `value` at position `pos` in `list`, shifting up the elements `list[pos], 14 | -- list[pos+1], ···, list[#list]`. The default value for `pos` is `#list+1`, so that a call 15 | -- `table.insert(t,x)` inserts `x` at the end of the list `t`. 16 | -- @param list 17 | -- @param[opt] pos 18 | -- @param value 19 | -- @function table.insert 20 | 21 | --- Returns the largest positive numerical index of the given table, or zero if the table has 22 | -- no positive numerical indices. (To do its job this function does a linear traversal of the 23 | -- whole table.) 24 | -- 25 | -- Deprecated in Lua 5.2. 26 | -- @param table 27 | -- @function table.maxn 28 | 29 | --- Moves elements from the table `a1` to the table `a2`, performing the equivalent to the 30 | -- following multiple assignment: `a2[t], ··· = a1[f], ···, a1[e]`. The default for `a2` 31 | -- is `a1`. The destination range can overlap with the source range. Index `f` must be positive. 32 | -- 33 | -- Returns the destination table `a2`. 34 | -- 35 | -- New in Lua 5.3. 36 | -- @param a1 37 | -- @param f 38 | -- @param e 39 | -- @param t 40 | -- @param[opt] a2 41 | -- @function table.move 42 | 43 | --- Returns a new table with all parameters stored into keys 1, 2, etc. and with a field "`n`" 44 | -- with the total number of parameters. Note that the resulting table may not be a sequence, 45 | -- if some arguments are nil. 46 | -- 47 | -- New in Lua 5.2. 48 | -- @param ... 49 | -- @function table.pack 50 | 51 | --- Removes from `list` the element at position `pos`, returning the value of the removed 52 | -- element. When `pos` is an integer between 1 and `#list`, it shifts down the elements 53 | -- `list[pos+1], list[pos+2], ···, list[#list]` and erases element `list[#list]`; The index 54 | -- `pos` can also be 0 when `#list` is 0, or `#list + 1`. 55 | -- 56 | -- The default value for `pos` is `#list`, so that a call `table.remove(l)` removes the last 57 | -- element of the list `l`. 58 | -- @param list 59 | -- @param[opt] pos 60 | -- @function table.remove 61 | 62 | --- Sorts the list elements in a given order, *in-place*, from `list[1]` to `list[#list]`. If 63 | -- `comp` is given, then it must be a function that receives two list elements and returns true 64 | -- when the first element must come before the second in the final order (so that, after the 65 | -- sort, `i < j` implies `not comp(list[j],list[i])` will be true after the sort). If `comp` 66 | -- is not given, then the standard Lua operator `<` is used instead. 67 | -- 68 | -- Note that the `comp` function must not define a string partial order over the elements in the 69 | -- list; that is, it must be asymmetric and transitive. Otherwise, no valid sort may be possible. 70 | -- 71 | -- The sort algorithm is not stable; that is, elements not comparable by the given order (e.g., 72 | -- equal elements) may have their relative positions changed by the sort. 73 | -- @param list 74 | -- @param[opt] comp 75 | -- @function table.sort 76 | 77 | --- Returns the elements from the given list. This function is equivalent to 78 | -- 79 | -- return list[i], list[i+1], ···, list[j] 80 | -- 81 | -- By default, `i` is 1 and `j` is `#list`. 82 | -- 83 | -- New in Lua 5.2. 84 | -- @param list 85 | -- @param[opt] i 86 | -- @param[optchain] j 87 | -- @function table.unpack 88 | -------------------------------------------------------------------------------- /doc/utf8.luadoc: -------------------------------------------------------------------------------- 1 | --- @module utf8 2 | 3 | --- The pattern (a string, not a function) "[\0-\x7F\xC2-\xFD][\x80-\xBF]*" (see §6.4.1), which 4 | -- matches exactly one UTF-8 byte sequence, assuming that the subject is a valid UTF-8 string. 5 | -- 6 | -- New in Lua 5.3. 7 | -- @field charpattern 8 | 9 | --- Receives zero or more integers, converts each one to its corresponding UTF-8 byte sequence 10 | -- and returns a string with the concatenation of all these sequences. 11 | -- 12 | -- New in Lua 5.3. 13 | -- @param ... 14 | -- @function utf8.char 15 | 16 | --- Returns values so that the construction 17 | -- 18 | -- for p, c in utf8.codes(s) do *body* end 19 | -- 20 | -- will iterate over all UTF-8 characters in string `s`, with `p` being the position (in bytes) and 21 | -- `c` the code point of each character. It raises an error if it meets any invalid byte sequence. 22 | -- 23 | -- This function only accepts valid sequences (well formed and not overlong). By default, it only 24 | -- accepts byte sequences that result in valid Unicode code points, rejecting values greater than 25 | -- `10FFFF` and surrogates. The boolean argument `lax` lifts these checks, so that all values 26 | -- up to `0x7FFFFFFF` are accepted. (Not well formed and overlong sequences are still rejected.) 27 | -- 28 | -- New in Lua 5.3. 29 | -- @param s 30 | -- @param[opt] lax 31 | -- @function utf8.codes 32 | 33 | --- Returns the codepoints (as integers) from all characters in `s` that start between byte 34 | -- position `i` and `j` (both included). The default for `i` is 1 and for `j` is `i`. It raises 35 | -- an error if it meets any invalid byte sequence. 36 | -- 37 | -- This function only accepts valid sequences (well formed and not overlong). By default, it only 38 | -- accepts byte sequences that result in valid Unicode code points, rejecting values greater than 39 | -- `10FFFF` and surrogates. The boolean argument `lax` lifts these checks, so that all values 40 | -- up to `0x7FFFFFFF` are accepted. (Not well formed and overlong sequences are still rejected.) 41 | -- 42 | -- New in Lua 5.3. 43 | -- @param s 44 | -- @param[opt] i 45 | -- @param[optchain] j 46 | -- @param[optchain] lax 47 | -- @function utf8.codepoint 48 | 49 | --- Returns the number of UTF-8 characters in string `s` that start between positions `i` and `j` 50 | -- (both inclusive). The default for `i` is 1 and for `j` is -1. If it finds any invalid byte 51 | -- sequence, returns nil plus the position of the first invalid byte. 52 | -- 53 | -- This function only accepts valid sequences (well formed and not overlong). By default, it only 54 | -- accepts byte sequences that result in valid Unicode code points, rejecting values greater than 55 | -- `10FFFF` and surrogates. The boolean argument `lax` lifts these checks, so that all values 56 | -- up to `0x7FFFFFFF` are accepted. (Not well formed and overlong sequences are still rejected.) 57 | -- 58 | -- New in Lua 5.3. 59 | -- @param s 60 | -- @param[opt] i 61 | -- @param[optchain] j 62 | -- @param[optchain] lax 63 | -- @function utf8.len 64 | 65 | --- Returns the position (in bytes) where the encoding of the `n`-th character of `s` (counting 66 | -- from position `i`) starts. A negative `n` gets characters before position `i`. The default 67 | -- for `i` is 1 when `n` is non-negative and `#s + 1` otherwise, so that `utf8.offset(s, -n)` 68 | -- gets the offset of the `n`-th character from the end of the string. If the specified character 69 | -- is neither in the subject nor right after its end, the function returns nil. 70 | -- 71 | -- As a special case, when `n` is 0 the function returns the start of the encoding of the 72 | -- character that contains the `i`-th byte of `s`. 73 | -- 74 | -- This function assumes that `s` is a valid UTF-8 string. 75 | -- 76 | -- New in Lua 5.3. 77 | -- @param s 78 | -- @param n 79 | -- @param[opt] i 80 | -- @function utf8.offset 81 | -------------------------------------------------------------------------------- /icons/16/class.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *class[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "16 16 45 1 ", 5 | " c None", 6 | ". c #AB7671", 7 | "X c #AC7771", 8 | "o c #AC7772", 9 | "O c #AE7973", 10 | "+ c #AF7874", 11 | "@ c #AF7974", 12 | "# c #A67D7C", 13 | "$ c #B17C71", 14 | "% c #B37E73", 15 | "& c #B17A75", 16 | "* c #B17976", 17 | "= c #B77F7A", 18 | "- c #B87E79", 19 | "; c #A3854E", 20 | ": c #A3864E", 21 | "> c #A5864E", 22 | ", c #A08657", 23 | "< c #A78851", 24 | "1 c #A48C5D", 25 | "2 c #A58D5E", 26 | "3 c #BB985A", 27 | "4 c #BB8574", 28 | "5 c #B78079", 29 | "6 c #CE9B76", 30 | "7 c #CEA763", 31 | "8 c #D1AA64", 32 | "9 c #EEC074", 33 | "0 c #F0C373", 34 | "q c #7A8A93", 35 | "w c #74889B", 36 | "e c #70899D", 37 | "r c #AE8180", 38 | "t c #B19FA8", 39 | "y c #C38781", 40 | "u c #C48782", 41 | "i c #EDA49D", 42 | "p c #EEA49E", 43 | "a c #FBADA6", 44 | "s c #FFB0A9", 45 | "d c #A7C3D3", 46 | "f c #A8C2D2", 47 | "g c #A8C4D3", 48 | "h c #A8CAE5", 49 | "j c #A7CDEA", 50 | /* pixels */ 51 | " < ", 52 | " :3: ", 53 | " :708: ", 54 | " :70008: ", 55 | " :7000008: ", 56 | " <300000003< ", 57 | "eeq,700096$o+- ", 58 | "ejjg27094upapu$ ", 59 | "ejjjg276usssssu=", 60 | "ejjjjd2$psssssp+", 61 | "ejjjjjgoasssssao", 62 | "ejjjjjjrpsssssp+", 63 | "ejjjjjjtusssssu5", 64 | "ejjjjjjh#upapu$ ", 65 | "eeeeeeeee=+o+5 ", 66 | " " 67 | }; 68 | -------------------------------------------------------------------------------- /icons/16/color.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *dummy[]={ 3 | "16 16 24 1", 4 | ". c None", 5 | "# c None", 6 | "e c #808080", 7 | "b c #8ebe75", 8 | "n c #999791", 9 | "d c #999990", 10 | "i c #999999", 11 | "t c #9ba9c4", 12 | "m c #9fb1b3", 13 | "a c #a6a677", 14 | "r c #b3b1ac", 15 | "j c #b3b3a8", 16 | "u c #b3b3b3", 17 | "s c #b4cef0", 18 | "f c #c3bba6", 19 | "v c #cad9d9", 20 | "c c #cae8ac", 21 | "k c #ccccc2", 22 | "g c #cccccc", 23 | "o c #d1977d", 24 | "q c #d6d6d6", 25 | "h c #dae6e6", 26 | "l c #e0e0e0", 27 | "p c #e9c0b4", 28 | "................", 29 | "................", 30 | "#####abba#######", 31 | "####bccccde#####", 32 | "###accccfghi####", 33 | "###djkckilhm####", 34 | "#noppoimmiqqe###", 35 | "#oppprstqimhi###", 36 | "oppppmstutihu###", 37 | "oppppmmgvgghhe##", 38 | "oppppmiqittuhi##", 39 | "nopppiumsssihg##", 40 | "#nopiihmtstehhi#", 41 | "###neiiieietiiie", 42 | "................", 43 | "................"}; 44 | -------------------------------------------------------------------------------- /icons/16/constant.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *constant[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "16 16 29 1 ", 5 | " c None", 6 | ". c #AB4B42", 7 | "X c #AE4C43", 8 | "o c #AE4D43", 9 | "O c #AE4C44", 10 | "+ c #AF4D44", 11 | "@ c #B04D44", 12 | "# c #B14E45", 13 | "$ c #B24E46", 14 | "% c #B34E46", 15 | "& c #B44F46", 16 | "* c #B65047", 17 | "= c #B75047", 18 | "- c #B75048", 19 | "; c #C0544B", 20 | ": c #C2554B", 21 | "> c #C9584E", 22 | ", c #CA594E", 23 | "< c #D15C51", 24 | "1 c #D25C52", 25 | "2 c #D85F54", 26 | "3 c #D95F54", 27 | "4 c #EF695D", 28 | "5 c #F0695D", 29 | "6 c #F46B5F", 30 | "7 c #F56C5F", 31 | "8 c #F96D61", 32 | "9 c #FA6E61", 33 | "0 c #FF7063", 34 | /* pixels */ 35 | " ", 36 | " ", 37 | " * ", 38 | " + ", 39 | " +1$ ", 40 | " ;0; ", 41 | " +406+ ", 42 | " -,000,- ", 43 | " +60006+ ", 44 | " $1000001* ", 45 | " $8000008$ ", 46 | " $300000003$ ", 47 | " +++++++++++ ", 48 | " ", 49 | " ", 50 | " " 51 | }; 52 | -------------------------------------------------------------------------------- /icons/16/constructor.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *constructor[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "16 16 10 1 ", 5 | " c None", 6 | ". c #A3854E", 7 | "X c #A3864E", 8 | "o c #A5864E", 9 | "O c #A4864F", 10 | "+ c #A78851", 11 | "@ c #BB985A", 12 | "# c #CEA763", 13 | "$ c #D1AA64", 14 | "% c #F0C373", 15 | /* pixels */ 16 | " ", 17 | " ", 18 | " ", 19 | " ", 20 | " + ", 21 | " X@X ", 22 | " X#%$X ", 23 | " X#%%%$X ", 24 | " X#%%%%%$X ", 25 | " +@%%%%%%%@+", 26 | " X#%%%%%$X ", 27 | " X#%%%$X ", 28 | " X#%$X ", 29 | " X@X ", 30 | " + ", 31 | " " 32 | }; 33 | -------------------------------------------------------------------------------- /icons/16/event.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *event[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "16 16 3 1 ", 5 | " c None", 6 | ". c #AB8349", 7 | "X c #FFC36D", 8 | /* pixels */ 9 | " ", 10 | " ", 11 | " ", 12 | " ", 13 | " ............. ", 14 | " .XXXXXXXXXXX. ", 15 | " .XXXXXXXXXXX. ", 16 | " .XXXXXXXXXXX. ", 17 | " .XXXXXXXXXXX. ", 18 | " .XXXXXXXXXXX. ", 19 | " ............. ", 20 | " ", 21 | " ", 22 | " ", 23 | " ", 24 | " " 25 | }; 26 | -------------------------------------------------------------------------------- /icons/16/field.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *field[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "16 16 3 1 ", 5 | " c None", 6 | ". c #70899D", 7 | "X c #A7CDEA", 8 | /* pixels */ 9 | " ", 10 | " ", 11 | " ", 12 | " ", 13 | " ...........", 14 | " .XXXXXXXXX.", 15 | " .XXXXXXXXX.", 16 | " .XXXXXXXXX.", 17 | " .XXXXXXXXX.", 18 | " .XXXXXXXXX.", 19 | " .XXXXXXXXX.", 20 | " .XXXXXXXXX.", 21 | " .XXXXXXXXX.", 22 | " .XXXXXXXXX.", 23 | " ...........", 24 | " " 25 | }; 26 | -------------------------------------------------------------------------------- /icons/16/file.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *file[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "16 16 9 1 ", 5 | " c None", 6 | ". c #6D6D6D", 7 | "X c #717171", 8 | "o c #727272", 9 | "O c gray45", 10 | "+ c #8D8D8D", 11 | "@ c #A9A9A9", 12 | "# c #AAAAAA", 13 | "$ c #ECECEC", 14 | /* pixels */ 15 | " .........X ", 16 | " .$$$$$$$+#X ", 17 | " .$$$$$$$+$#X ", 18 | " .$$$$$$$+$$#X ", 19 | " .$$$$$$$++++. ", 20 | " .$$$$$$$$$$$. ", 21 | " .$$$$$$$$$$$. ", 22 | " .$$$$$$$$$$$. ", 23 | " .$$$$$$$$$$$. ", 24 | " .$$$$$$$$$$$. ", 25 | " .$$$$$$$$$$$. ", 26 | " .$$$$$$$$$$$. ", 27 | " .$$$$$$$$$$$. ", 28 | " .$$$$$$$$$$$. ", 29 | " ............. ", 30 | " " 31 | }; 32 | -------------------------------------------------------------------------------- /icons/16/fix.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *fix[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "16 16 58 1 ", 5 | " c None", 6 | ". c #8C752A", 7 | "X c #8C762A", 8 | "o c #8C762B", 9 | "O c #8D782B", 10 | "+ c #8D782C", 11 | "@ c #8E792C", 12 | "# c #8F7A2D", 13 | "$ c #8E7B2D", 14 | "% c #8F7B2D", 15 | "& c #8F7A2E", 16 | "* c #907B2D", 17 | "= c #907A2E", 18 | "- c #907B2E", 19 | "; c #907C2E", 20 | ": c #927C2F", 21 | "> c #917D30", 22 | ", c #8B7F58", 23 | "< c #938030", 24 | "1 c #948031", 25 | "2 c #A4933C", 26 | "3 c #B1A44B", 27 | "4 c #B0A34C", 28 | "5 c #BCB04D", 29 | "6 c #C8BE55", 30 | "7 c #D8D161", 31 | "8 c #D9D161", 32 | "9 c #DFD965", 33 | "0 c #E9E56D", 34 | "q c #EAE66D", 35 | "w c #EDEA70", 36 | "e c #EEEA70", 37 | "r c #EFEC70", 38 | "t c #F0ED71", 39 | "y c #F4F275", 40 | "u c #F5F375", 41 | "i c #F7F677", 42 | "p c #F8F77F", 43 | "a c #FBFA79", 44 | "s c #FFFF7C", 45 | "d c #8D8D8D", 46 | "f c #8E8E8E", 47 | "g c gray56", 48 | "h c #929292", 49 | "j c #B6AA83", 50 | "k c #F8F780", 51 | "l c #FFFF98", 52 | "z c #FFFFA5", 53 | "x c #FFFFA6", 54 | "c c #FFFFB6", 55 | "v c gray81", 56 | "b c #D2D2D2", 57 | "n c #EFECC0", 58 | "m c #FEFEC4", 59 | "M c #FFFFD6", 60 | "N c #FFFFF9", 61 | "B c #FFFFFE", 62 | "V c white", 63 | /* pixels */ 64 | " ::X:: ", 65 | " &6wsw6& ", 66 | " 1tslclst1 ", 67 | " :8sxBBBxs8> ", 68 | " XisMBBBMsiX ", 69 | " &wsmBBBmsw& ", 70 | " &5sknBnps5& ", 71 | " &qsiqisq& ", 72 | " 2sswss2 ", 73 | " &9sws9& ", 74 | " 4sws4 ", 75 | " ,jjj, ", 76 | " gbbbg ", 77 | " gvbvg ", 78 | " hgggh ", 79 | " " 80 | }; 81 | -------------------------------------------------------------------------------- /icons/16/folder.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *folder[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "16 16 7 1 ", 5 | " c None", 6 | ". c #A89453", 7 | "X c #AD9856", 8 | "o c #BCA55D", 9 | "O c #D5BA69", 10 | "+ c #EDD075", 11 | "@ c #FBDC7C", 12 | /* pixels */ 13 | " ", 14 | " ", 15 | "...... ", 16 | ".@@@@+X ", 17 | ".OOOOOo........ ", 18 | ".@@@@@@@@@@@@@. ", 19 | ".@@@@@@@@@@@@@. ", 20 | ".@@@@@@@@@@@@@. ", 21 | ".@@@@@@@@@@@@@. ", 22 | ".@@@@@@@@@@@@@. ", 23 | ".@@@@@@@@@@@@@. ", 24 | ".@@@@@@@@@@@@@. ", 25 | ".@@@@@@@@@@@@@. ", 26 | "............... ", 27 | " ", 28 | " " 29 | }; 30 | -------------------------------------------------------------------------------- /icons/16/interface.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *interface[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "16 16 16 1 ", 5 | " c None", 6 | ". c #808080", 7 | "X c #818181", 8 | "o c gray51", 9 | "O c #838383", 10 | "+ c gray52", 11 | "@ c #868686", 12 | "# c gray53", 13 | "$ c #888888", 14 | "% c #B4B4B4", 15 | "& c gray79", 16 | "* c #CACACA", 17 | "= c #CBCBCB", 18 | "- c gray88", 19 | "; c #E1E1E1", 20 | ": c gray90", 21 | /* pixels */ 22 | " ", 23 | " ", 24 | " ", 25 | " ", 26 | " ... ", 27 | " ... $*:*$ ", 28 | ".%:%......*:::*.", 29 | ".:::.::::.:::::.", 30 | ".%:%......*:::*.", 31 | " ..$ $*:*$ ", 32 | " ... ", 33 | " ", 34 | " ", 35 | " ", 36 | " ", 37 | " " 38 | }; 39 | -------------------------------------------------------------------------------- /icons/16/keyword.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *keyword[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "16 16 11 1 ", 5 | " c None", 6 | ". c #AB8349", 7 | "X c #FFC36D", 8 | "o c #848484", 9 | "O c #888888", 10 | "+ c gray54", 11 | "@ c #8D8D8D", 12 | "# c gray62", 13 | "$ c gray71", 14 | "% c #B7B7B7", 15 | "& c #ECECEC", 16 | /* pixels */ 17 | " ooooooooo@ ", 18 | " o&&&&&&&@%@ ", 19 | " o&&&&&&&@&%@ ", 20 | " o&####&&@&&%@ ", 21 | " o&&&&&&&@@@@o ", 22 | " o&......&&&&o ", 23 | " o&.XXXX.###&o ", 24 | " o&......&&&&o ", 25 | " o&&&&&&&&&&&o ", 26 | " o&#########&o ", 27 | " o&&&&&&&&&&&o ", 28 | " o&&&&......&o ", 29 | " o&###.XXXX.&o ", 30 | " o&&&&......&o ", 31 | " ooooooooooooo ", 32 | " " 33 | }; 34 | -------------------------------------------------------------------------------- /icons/16/method.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *method[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "16 16 21 1 ", 5 | " c None", 6 | ". c #AB7671", 7 | "X c #AC7672", 8 | "o c #AC7772", 9 | "O c #AE7873", 10 | "+ c #AE7874", 11 | "@ c #AE7974", 12 | "# c #AF7974", 13 | "$ c #AF7975", 14 | "% c #B07974", 15 | "& c #B47D77", 16 | "* c #B57D77", 17 | "= c #B57D78", 18 | "- c #B67E78", 19 | "; c #D5938D", 20 | ": c #D6948E", 21 | "> c #ECA39C", 22 | ", c #EDA49D", 23 | "< c #F3A8A1", 24 | "1 c #FDAFA8", 25 | "2 c #FFB0A9", 26 | /* pixels */ 27 | " ", 28 | " ", 29 | " ", 30 | " ", 31 | " %#o#- ", 32 | " %:<1<:# ", 33 | " %,22222,# ", 34 | " %:2222222:%", 35 | " #<2222222<#", 36 | " o122222221o", 37 | " #<2222222<#", 38 | " %:2222222:-", 39 | " #,22222,# ", 40 | " #:<1<:# ", 41 | " %#o#- ", 42 | " " 43 | }; 44 | -------------------------------------------------------------------------------- /icons/16/module.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *module[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "16 16 29 1 ", 5 | " c None", 6 | ". c #5C6192", 7 | "X c #5D6193", 8 | "o c #5D6293", 9 | "O c #5E6393", 10 | "+ c #5E6294", 11 | "@ c #5E6494", 12 | "# c #5F6494", 13 | "$ c #606494", 14 | "% c #606495", 15 | "& c #626796", 16 | "* c #676A98", 17 | "= c #6B719C", 18 | "- c #6C719C", 19 | "; c #7479A2", 20 | ": c #7579A2", 21 | "> c #7E82A8", 22 | ", c #8185AB", 23 | "< c #8286AB", 24 | "1 c #8387AB", 25 | "2 c #8286AC", 26 | "3 c #8E90B3", 27 | "4 c #8E91B3", 28 | "5 c #8E92B3", 29 | "6 c #9296B5", 30 | "7 c #9395B6", 31 | "8 c #9396B7", 32 | "9 c #9598B8", 33 | "0 c #979AB9", 34 | /* pixels */ 35 | " ", 36 | " ", 37 | " .... .... ", 38 | " .03. .30. ", 39 | " .03. .30. ", 40 | " .002--200. ", 41 | "%*:>00000000>:*.", 42 | ".60000000000006.", 43 | "%26000000000062.", 44 | " %.%00000000%.. ", 45 | " .002--200. ", 46 | " .03. .30. ", 47 | " .03. .30. ", 48 | " .... .... ", 49 | " ", 50 | " " 51 | }; 52 | -------------------------------------------------------------------------------- /icons/16/operator.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *operator[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "16 16 23 1 ", 5 | " c None", 6 | ". c #AB8249", 7 | "X c #AB8349", 8 | "o c #AF854A", 9 | "O c #AE864A", 10 | "+ c #AF864A", 11 | "@ c #AF874A", 12 | "# c #AF864B", 13 | "$ c #AF864C", 14 | "% c #B0864A", 15 | "& c #BA8E50", 16 | "* c #BA8F50", 17 | "= c #BC9051", 18 | "- c #C99956", 19 | "; c #C99A56", 20 | ": c #EBB364", 21 | "> c #EBB464", 22 | ", c #ECB565", 23 | "< c #EEB666", 24 | "1 c #EFB766", 25 | "2 c #F7BD69", 26 | "3 c #F7BD6A", 27 | "4 c #FFC36D", 28 | /* pixels */ 29 | " ", 30 | " XX% ", 31 | " XXXX4XXX% ", 32 | " X4<=4*<4X ", 33 | " %X;242;XX ", 34 | " XX;242;X% ", 35 | " X4<=4*<4X ", 36 | " %XXX4XXXX ", 37 | " %XX ", 38 | " ", 39 | " ", 40 | " XX ", 41 | " X< c #86888A", 22 | ", c #888888", 23 | "< c #898989", 24 | "1 c gray54", 25 | "2 c #8B8B8B", 26 | "3 c gray55", 27 | "4 c #8D8D8D", 28 | "5 c #8E8E8E", 29 | "6 c #8D8E91", 30 | "7 c gray57", 31 | "8 c #A0A0A0", 32 | "9 c gray72", 33 | "0 c #BCBCBC", 34 | "q c gray75", 35 | "w c gray76", 36 | "e c gray82", 37 | "r c gray83", 38 | "t c gainsboro", 39 | "y c #DFDFDF", 40 | "u c #E4E4E4", 41 | "i c #E6E6E6", 42 | "p c gray92", 43 | "a c gray93", 44 | /* pixels */ 45 | " 3:3 3:::3 ", 46 | " :uw9wuaa93 ", 47 | " :aaraaaaay7 ", 48 | " :u99raa33383 ", 49 | " 3:3:3ya: 33 ", 50 | " 6ra: ", 51 | " >::: ", 52 | " +;;+ ", 53 | " @$;;$@ ", 54 | " .====. ", 55 | " .-==-. ", 56 | " .;==;. ", 57 | " .;==;. ", 58 | " .%==%. ", 59 | " .... ", 60 | " " 61 | }; 62 | -------------------------------------------------------------------------------- /icons/16/reference.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *reference[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "16 16 51 1 ", 5 | " c None", 6 | ". c #655F4C", 7 | "X c #67614E", 8 | "o c #736E5F", 9 | "O c #565C6E", 10 | "+ c #776464", 11 | "@ c #776565", 12 | "# c #61677B", 13 | "$ c #676B79", 14 | "% c #7F7171", 15 | "& c #836E6E", 16 | "* c #846E6E", 17 | "= c #857D64", 18 | "- c #888479", 19 | "; c #A99F7F", 20 | ": c #727991", 21 | "> c #928787", 22 | ", c #9C8383", 23 | "< c #A29A96", 24 | "1 c #BE9F9F", 25 | "2 c #B2A98C", 26 | "3 c #A3A19E", 27 | "4 c #A9A69E", 28 | "5 c #AAA69F", 29 | "6 c #A9A89F", 30 | "7 c #9099B8", 31 | "8 c #9FA1A4", 32 | "9 c #A5A2A2", 33 | "0 c #A8A7A2", 34 | "q c #A2A5AB", 35 | "w c #A3A5AD", 36 | "e c #A4A6AE", 37 | "r c gray67", 38 | "t c #AFA8A8", 39 | "y c #B0A7A1", 40 | "u c #B0A8A8", 41 | "i c #BEB9AB", 42 | "p c #C6A6A6", 43 | "a c #CCAFAF", 44 | "s c #C0BEB7", 45 | "d c #C4BFBF", 46 | "f c #CBBDBD", 47 | "g c #CDC9B9", 48 | "h c #D4CFBF", 49 | "j c #B3B6C5", 50 | "k c gray81", 51 | "l c #DCCCCC", 52 | "z c #C2C6D5", 53 | "x c #C8CCDC", 54 | "c c gray87", 55 | "v c #E3D3D3", 56 | /* pixels */ 57 | " ", 58 | " *+++++++++++> ", 59 | "**1ppppppppadu ", 60 | "+,,,,,,,,,,fkr ", 61 | "+ppppppppppvc9 ", 62 | "+pppppppppplr c #AF7874", 22 | ", c #A67D7C", 23 | "< c #B17976", 24 | "1 c #B77F7A", 25 | "2 c #C6574D", 26 | "3 c #D15C51", 27 | "4 c #D65E53", 28 | "5 c #F36B5E", 29 | "6 c #F46B5F", 30 | "7 c #F96D61", 31 | "8 c #FA6E61", 32 | "9 c #FF7063", 33 | "0 c #A4864E", 34 | "q c #A5864F", 35 | "w c #A5874F", 36 | "e c #A7864F", 37 | "r c #A38650", 38 | "t c #A58752", 39 | "y c #A18755", 40 | "u c #A88850", 41 | "i c #A0885A", 42 | "p c #A58C5B", 43 | "a c #B89658", 44 | "s c #BB985A", 45 | "d c #BE9A5B", 46 | "f c #A48D61", 47 | "g c #A7946D", 48 | "h c #B78079", 49 | "j c #CAA461", 50 | "k c #D2AB65", 51 | "l c #F0C373", 52 | "z c #70899D", 53 | "x c #768C9E", 54 | "c c #7F919D", 55 | "v c #728CA0", 56 | "b c #8D8787", 57 | "n c #AE8180", 58 | "m c #B09EA7", 59 | "M c #B19FA8", 60 | "N c #C38781", 61 | "B c #C48782", 62 | "V c #EDA49D", 63 | "C c #EEA49E", 64 | "Z c #FBADA6", 65 | "A c #FFB0A9", 66 | "S c #9FC3DF", 67 | "D c #A9C2CF", 68 | "F c #A8C5D5", 69 | "G c #A8C5D7", 70 | "H c #A0C0DA", 71 | "J c #A7CDEA", 72 | /* pixels */ 73 | " u $ ", 74 | " qsq . ", 75 | " qjlkq .3. ", 76 | " qjlllkq %292% ", 77 | "ualllllsq.696. ", 78 | " rjlllkr&39993+ ", 79 | "zcpjlkrb+89998+ ", 80 | "zJGfspD*.......+", 81 | "zJJGgDJmBAAAAAB1", 82 | "zJJJJJJnCAAAAAC:", 83 | "zJJJJJJ:ZAAAAAZ-", 84 | "zJJJJJJnCAAAAAC:", 85 | "zJJJJJJMBAAAAABh", 86 | "zSSSSSSH,BCZCB< ", 87 | "vvvvvvvvz1:-:h ", 88 | " " 89 | }; 90 | -------------------------------------------------------------------------------- /icons/16/text.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ static char *dummy[]={ "16 16 1 1", ". c None", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................"}; 2 | -------------------------------------------------------------------------------- /icons/16/type_parameter.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *type_parameter[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "16 16 29 1 ", 5 | " c None", 6 | ". c #AB8249", 7 | "X c #AC8449", 8 | "o c #AC844A", 9 | "O c #AF864B", 10 | "+ c #AF874B", 11 | "@ c #B0864A", 12 | "# c #B0864B", 13 | "$ c #B0874B", 14 | "% c #B0874C", 15 | "& c #B1874C", 16 | "* c #B1884C", 17 | "= c #B2884C", 18 | "- c #B48A4D", 19 | "; c #E3AD61", 20 | ": c #E5AF62", 21 | "> c #E5B062", 22 | ", c #ECB565", 23 | "< c #EDB565", 24 | "1 c #EEB565", 25 | "2 c #EDB665", 26 | "3 c #EEB666", 27 | "4 c #EFB766", 28 | "5 c #F0B866", 29 | "6 c #F0B867", 30 | "7 c #F1B867", 31 | "8 c #F1B967", 32 | "9 c #F2B967", 33 | "0 c #FDC16C", 34 | /* pixels */ 35 | " ", 36 | " ", 37 | " o o ", 38 | " &:= =:& ", 39 | " &83& &38= ", 40 | " =83& &38= ", 41 | " =83o o38= ", 42 | "o:0=o o=0:o", 43 | " &33& &33& ", 44 | " o33& &38& ", 45 | " &83& &38& ", 46 | " &>= =>& ", 47 | " o o ", 48 | " ", 49 | " ", 50 | " " 51 | }; 52 | -------------------------------------------------------------------------------- /icons/16/unit.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *unit[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "16 16 3 1 ", 5 | " c None", 6 | ". c #70899D", 7 | "X c #A7CDEA", 8 | /* pixels */ 9 | " ", 10 | " ", 11 | " ", 12 | " ", 13 | " ........ ", 14 | " .XXXXXX. ", 15 | " .XXXXXX. ", 16 | " .XXXXXX. ", 17 | " .XXXXXX. ", 18 | " .XXXXXX. ", 19 | " .XXXXXX. ", 20 | " ........ ", 21 | " ", 22 | " ", 23 | " ", 24 | " " 25 | }; 26 | -------------------------------------------------------------------------------- /icons/16/value.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *value[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "16 16 3 1 ", 5 | " c None", 6 | ". c #9C8A4D", 7 | "X c #E9CE73", 8 | /* pixels */ 9 | " ", 10 | " ", 11 | " ", 12 | " ", 13 | " ........ ", 14 | " .XXXXXX. ", 15 | " .XXXXXX. ", 16 | " .XXXXXX. ", 17 | " .XXXXXX. ", 18 | " .XXXXXX. ", 19 | " .XXXXXX. ", 20 | " ........ ", 21 | " ", 22 | " ", 23 | " ", 24 | " " 25 | }; 26 | -------------------------------------------------------------------------------- /icons/16/variable.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *variable[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "16 16 3 1 ", 5 | " c None", 6 | ". c #65727F", 7 | "X c #DDE5EF", 8 | /* pixels */ 9 | " ", 10 | " ", 11 | " ........... ", 12 | " .XXXXXXXXX. ", 13 | " .XXXXXXXXX. ", 14 | " .XXXXXXXXX. ", 15 | " .XXXXXXXXX. ", 16 | " .XXXXXXXXX. ", 17 | " .XXXXXXXXX. ", 18 | " .XXXXXXXXX. ", 19 | " .XXXXXXXXX. ", 20 | " .XXXXXXXXX. ", 21 | " ........... ", 22 | " ", 23 | " ", 24 | " " 25 | }; 26 | -------------------------------------------------------------------------------- /icons/16@2x/class.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *class[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 61 1 ", 5 | " c None", 6 | ". c #AB7671", 7 | "X c #AC7771", 8 | "o c #AC7772", 9 | "O c #AE7A70", 10 | "+ c #AF7A71", 11 | "@ c #AD7872", 12 | "# c #AD7873", 13 | "$ c #AC7973", 14 | "% c #AF7973", 15 | "& c #A97875", 16 | "* c #AA7975", 17 | "= c #B07B73", 18 | "- c #B47F73", 19 | "; c #B07975", 20 | ": c #B17A76", 21 | "> c #B17B76", 22 | ", c #B27B76", 23 | "< c #B57D77", 24 | "1 c #B47D78", 25 | "2 c #B57D78", 26 | "3 c #A1834D", 27 | "4 c #A2844E", 28 | "5 c #AB8C51", 29 | "6 c #AB8C52", 30 | "7 c #AC8C53", 31 | "8 c #AF8E53", 32 | "9 c #AD8C54", 33 | "0 c #928B75", 34 | "q c #BC8775", 35 | "w c #BE8C72", 36 | "e c #BC8874", 37 | "r c #C79276", 38 | "t c #D4AC65", 39 | "y c #D6AE66", 40 | "u c #DEAD76", 41 | "i c #E1B076", 42 | "p c #E6B675", 43 | "a c #F0C373", 44 | "s c #70899D", 45 | "d c #7F8898", 46 | "f c #878793", 47 | "g c #AF8281", 48 | "h c #AF8A8C", 49 | "j c #B0969C", 50 | "k c #A8A796", 51 | "l c #AAA998", 52 | "z c #C58883", 53 | "x c #C68983", 54 | "c c #C78984", 55 | "v c #D5938D", 56 | "b c #D6948E", 57 | "n c #EFA59E", 58 | "m c #F0A69F", 59 | "M c #FAADA6", 60 | "N c #FBADA6", 61 | "B c #FEAFA8", 62 | "V c #FFB0A9", 63 | "C c #AEB4C6", 64 | "Z c #AAC0D7", 65 | "A c #A7CDEA", 66 | /* pixels */ 67 | " 66 ", 68 | " 6336 ", 69 | " 633336 ", 70 | " 633yy336 ", 71 | " 633yaay336 ", 72 | " 633yaaaay336 ", 73 | " 633yaaaaaay336 ", 74 | " 633yaaaaaaaay336 ", 75 | " 633yaaaaaaaaaay336 ", 76 | " 633yaaaaaaaaaaaay336 ", 77 | " 633yaaaaaaaaaaaaaay336 ", 78 | " 633yaaaaaaaaaaaaaay336 ", 79 | "sssss033yaaaaaaaaaaur,..$2 ", 80 | "ssssss033yaaaaaaapq........, ", 81 | "ssAAAAAl33yaaaaap,.,bnNNnb,.$ ", 82 | "ssAAAAAAl33yaaap,.cNVVVVVVNc.$ ", 83 | "ssAAAAAAAl33yaaw.cVVVVVVVVVBc., ", 84 | "ssAAAAAAAAl33yu.,NVVVVVVVVVVN,. ", 85 | "ssAAAAAAAAAl33w.bVVVVVVVVVVVVb.,", 86 | "ssAAAAAAAAAAk3$.mVVVVVVVVVVVVn.$", 87 | "ssAAAAAAAAAAAl..NVVVVVVVVVVVVN..", 88 | "ssAAAAAAAAAAAA$.NVVVVVVVVVVVVN.$", 89 | "ssAAAAAAAAAAAAg.nVVVVVVVVVVVVn.,", 90 | "ssAAAAAAAAAAAAj.bVVVVVVVVVVVVb.2", 91 | "ssAAAAAAAAAAAAC.,NVVVVVVVVVVN,. ", 92 | "ssAAAAAAAAAAAAAh.cBVVVVVVVVBc., ", 93 | "ssAAAAAAAAAAAAAZ$.cNVVVVVVNc.$ ", 94 | "ssAAAAAAAAAAAAAAf$.,bnNNnb,.$ ", 95 | "sssssssssssssssssd,........, ", 96 | "ssssssssssssssssss ,,..,, ", 97 | " ", 98 | " " 99 | }; 100 | -------------------------------------------------------------------------------- /icons/16@2x/color.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *dummy[]={ 3 | "32 32 28 1", 4 | ". c None", 5 | "# c None", 6 | "e c #595959", 7 | "j c #6c7e80", 8 | "o c #807e79", 9 | "r c #808077", 10 | "i c #808080", 11 | "n c #999791", 12 | "b c #999990", 13 | "g c #999999", 14 | "v c #9ba9c4", 15 | "q c #9fb1b3", 16 | "a c #a6a677", 17 | "f c #b3b3a8", 18 | "l c #b3b3b3", 19 | "x c #b4cef0", 20 | "c c #c3bba6", 21 | "z c #cad9d9", 22 | "d c #cae8ac", 23 | "p c #ccccc2", 24 | "k c #cccccc", 25 | "s c #d1977d", 26 | "y c #d6d6d6", 27 | "m c #dae6e6", 28 | "w c #e0e0e0", 29 | "t c #e6bea1", 30 | "u c #e9c0b4", 31 | "h c #ebebeb", 32 | "................................", 33 | "................................", 34 | "................................", 35 | "................................", 36 | "###########aabbaa##############.", 37 | "#########aacddddcaa############.", 38 | "########aaddddddddaa###########.", 39 | "#######aadddddddddeeeee########.", 40 | "#######adddddddddfghhhi########.", 41 | "######acdddddddddjkhhhlj#######.", 42 | "######adddddddddcjhhhhme#######.", 43 | "#####nooonfpddpqjlhkhhhi#######.", 44 | "###nrstuutsrfqgvjwmjwhhlj######.", 45 | "##rsuuuuuuuugvxvghlelhhmj######.", 46 | "#rsuuuuuuuugvxxjkhiiihhhg######.", 47 | "#ruuuuuuuuugxxqjhyjxjwhhkj#####.", 48 | "nsuuuuuuuugqxxilhqgxglhhhj#####.", 49 | "otuuuuuuuugxxxjmmjgviihhhgj####.", 50 | "ouuuuuuuuugxxvghwqqqqqmhhkj####.", 51 | "ouuuuuuuuugxxjzhhhhhhhhhhhj####.", 52 | "otuuuuuuuugxvihwggggggqhhhlj###.", 53 | "nsuuuuuuuugvjkhqivvvvvjzhhwe###.", 54 | "#ruuuuuuuuuijhhjqxxxxxgqhhhg###.", 55 | "#rsuuuuuuuujlhzjxxxxxxljhhhkj##.", 56 | "##rsuuuutsnjmhljxxxxxxgemhhhj##.", 57 | "###nrstunjgzhhwgjgxxvjjghhhhkij.", 58 | "#####noooqhhhhhhqjgggjwhhhhhhhg.", 59 | "########eeeeeeeeee###eeeeeeeeee.", 60 | "................................", 61 | "................................", 62 | "................................", 63 | "................................"}; 64 | -------------------------------------------------------------------------------- /icons/16@2x/constant.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *constant[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 38 1 ", 5 | " c None", 6 | ". c #AB4B42", 7 | "X c #AC4B42", 8 | "o c #AC4B43", 9 | "O c #AC4C43", 10 | "+ c #AD4C43", 11 | "@ c #AE4D43", 12 | "# c #AE4D44", 13 | "$ c #AF4D44", 14 | "% c #AF4D45", 15 | "& c #B04D44", 16 | "* c #B14D45", 17 | "= c #B14E45", 18 | "- c #B24E45", 19 | "; c #B44F46", 20 | ": c #B54F46", 21 | "> c #B64F46", 22 | ", c #B74F46", 23 | "< c #B94F46", 24 | "1 c #B35046", 25 | "2 c #B65046", 26 | "3 c #B85047", 27 | "4 c #BA5248", 28 | "5 c #BB5249", 29 | "6 c #C0544B", 30 | "7 c #C2554B", 31 | "8 c #C9584E", 32 | "9 c #D15C51", 33 | "0 c #D85F54", 34 | "q c #E06257", 35 | "w c #E8665A", 36 | "e c #EE695C", 37 | "r c #F0695D", 38 | "t c #F46B5F", 39 | "y c #F96D61", 40 | "u c #FC6F62", 41 | "i c #FE7063", 42 | "p c #FF7063", 43 | /* pixels */ 44 | " ", 45 | " ", 46 | " ", 47 | " ", 48 | " ", 49 | " ## ", 50 | " ## ", 51 | " #### ", 52 | " <#44#3 ", 53 | " ##ww## ", 54 | " >#6ii6#1 ", 55 | " ##eiit## ", 56 | " 1#8iiii8#> ", 57 | " ##tiiiit## ", 58 | " >#9iiiiii9#> ", 59 | " #>yiiiiiiy># ", 60 | " ##0iiiiiiii0## ", 61 | " #>yiiiiiiiiy># ", 62 | " ##qiiiiiiiiiiq## ", 63 | " >#4iiiiiiiiiiii4#3 ", 64 | " ##wiyyiiiiiiiiiw## ", 65 | " >#6iiiyiiiiiiiiii6#1 ", 66 | " ##eiiiiiiiiiiiiiit## ", 67 | " 1#8iiiiiiiiiiiiiiii8#> ", 68 | " ###################### ", 69 | " >######################> ", 70 | " ", 71 | " ", 72 | " ", 73 | " ", 74 | " ", 75 | " " 76 | }; 77 | -------------------------------------------------------------------------------- /icons/16@2x/constructor.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *constructor[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 12 1 ", 5 | " c None", 6 | ". c #A1834D", 7 | "X c #A2844E", 8 | "o c #AA8951", 9 | "O c #AB8C51", 10 | "+ c #AB8C52", 11 | "@ c #AC8C53", 12 | "# c #AF8E53", 13 | "$ c #AD8C54", 14 | "% c #D4AC65", 15 | "& c #D6AE66", 16 | "* c #F0C373", 17 | /* pixels */ 18 | " ", 19 | " ", 20 | " ", 21 | " ", 22 | " ", 23 | " ", 24 | " ", 25 | " ", 26 | " ++ ", 27 | " +..+ ", 28 | " +....+ ", 29 | " +..%%..+ ", 30 | " +..%**%..+ ", 31 | " +..%****%..+ ", 32 | " +..%******%..+ ", 33 | " +..%********%..+ ", 34 | " +..%**********%..+ ", 35 | " +..%************%..+ ", 36 | " +..%**************%..+", 37 | " +..%**************%..+", 38 | " +..%************%..+ ", 39 | " +..%**********%..+ ", 40 | " +..%********%..+ ", 41 | " +..%******%..+ ", 42 | " +..%****%..+ ", 43 | " +..%**%..+ ", 44 | " +..%%..+ ", 45 | " +....+ ", 46 | " +..+ ", 47 | " ++ ", 48 | " ", 49 | " " 50 | }; 51 | -------------------------------------------------------------------------------- /icons/16@2x/event.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *event[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 3 1 ", 5 | " c None", 6 | ". c #AB8349", 7 | "X c #FFC36D", 8 | /* pixels */ 9 | " ", 10 | " ", 11 | " ", 12 | " ", 13 | " ", 14 | " ", 15 | " ", 16 | " ", 17 | " .......................... ", 18 | " .......................... ", 19 | " ..XXXXXXXXXXXXXXXXXXXXXX.. ", 20 | " ..XXXXXXXXXXXXXXXXXXXXXX.. ", 21 | " ..XXXXXXXXXXXXXXXXXXXXXX.. ", 22 | " ..XXXXXXXXXXXXXXXXXXXXXX.. ", 23 | " ..XXXXXXXXXXXXXXXXXXXXXX.. ", 24 | " ..XXXXXXXXXXXXXXXXXXXXXX.. ", 25 | " ..XXXXXXXXXXXXXXXXXXXXXX.. ", 26 | " ..XXXXXXXXXXXXXXXXXXXXXX.. ", 27 | " ..XXXXXXXXXXXXXXXXXXXXXX.. ", 28 | " ..XXXXXXXXXXXXXXXXXXXXXX.. ", 29 | " .......................... ", 30 | " .......................... ", 31 | " ", 32 | " ", 33 | " ", 34 | " ", 35 | " ", 36 | " ", 37 | " ", 38 | " ", 39 | " ", 40 | " " 41 | }; 42 | -------------------------------------------------------------------------------- /icons/16@2x/field.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *field[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 3 1 ", 5 | " c None", 6 | ". c #70899D", 7 | "X c #A7CDEA", 8 | /* pixels */ 9 | " ", 10 | " ", 11 | " ", 12 | " ", 13 | " ", 14 | " ", 15 | " ", 16 | " ", 17 | " ......................", 18 | " ......................", 19 | " ..XXXXXXXXXXXXXXXXXX..", 20 | " ..XXXXXXXXXXXXXXXXXX..", 21 | " ..XXXXXXXXXXXXXXXXXX..", 22 | " ..XXXXXXXXXXXXXXXXXX..", 23 | " ..XXXXXXXXXXXXXXXXXX..", 24 | " ..XXXXXXXXXXXXXXXXXX..", 25 | " ..XXXXXXXXXXXXXXXXXX..", 26 | " ..XXXXXXXXXXXXXXXXXX..", 27 | " ..XXXXXXXXXXXXXXXXXX..", 28 | " ..XXXXXXXXXXXXXXXXXX..", 29 | " ..XXXXXXXXXXXXXXXXXX..", 30 | " ..XXXXXXXXXXXXXXXXXX..", 31 | " ..XXXXXXXXXXXXXXXXXX..", 32 | " ..XXXXXXXXXXXXXXXXXX..", 33 | " ..XXXXXXXXXXXXXXXXXX..", 34 | " ..XXXXXXXXXXXXXXXXXX..", 35 | " ..XXXXXXXXXXXXXXXXXX..", 36 | " ..XXXXXXXXXXXXXXXXXX..", 37 | " ......................", 38 | " ......................", 39 | " ", 40 | " " 41 | }; 42 | -------------------------------------------------------------------------------- /icons/16@2x/file.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *file[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 6 1 ", 5 | " c None", 6 | ". c #6D6D6D", 7 | "X c #8D8D8D", 8 | "o c #A9A9A9", 9 | "O c gray67", 10 | "+ c #ECECEC", 11 | /* pixels */ 12 | " ................... ", 13 | " .................... ", 14 | " ..++++++++++++++XXO.. ", 15 | " ..++++++++++++++XX+O.. ", 16 | " ..++++++++++++++XX++O.. ", 17 | " ..++++++++++++++XX+++O.. ", 18 | " ..++++++++++++++XX++++O.. ", 19 | " ..++++++++++++++XX+++++O.. ", 20 | " ..++++++++++++++XXXXXXXX.. ", 21 | " ..++++++++++++++XXXXXXXX.. ", 22 | " ..++++++++++++++++++++++.. ", 23 | " ..++++++++++++++++++++++.. ", 24 | " ..++++++++++++++++++++++.. ", 25 | " ..++++++++++++++++++++++.. ", 26 | " ..++++++++++++++++++++++.. ", 27 | " ..++++++++++++++++++++++.. ", 28 | " ..++++++++++++++++++++++.. ", 29 | " ..++++++++++++++++++++++.. ", 30 | " ..++++++++++++++++++++++.. ", 31 | " ..++++++++++++++++++++++.. ", 32 | " ..++++++++++++++++++++++.. ", 33 | " ..++++++++++++++++++++++.. ", 34 | " ..++++++++++++++++++++++.. ", 35 | " ..++++++++++++++++++++++.. ", 36 | " ..++++++++++++++++++++++.. ", 37 | " ..++++++++++++++++++++++.. ", 38 | " ..++++++++++++++++++++++.. ", 39 | " ..++++++++++++++++++++++.. ", 40 | " .......................... ", 41 | " .......................... ", 42 | " ", 43 | " " 44 | }; 45 | -------------------------------------------------------------------------------- /icons/16@2x/fix.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *dummy[]={ 3 | "32 32 23 1", 4 | ". c None", 5 | "# c #787a11", 6 | "r c #8091a3", 7 | "i c #91944f", 8 | "l c #9f8121", 9 | "t c #c2bdc4", 10 | "a c #c59d55", 11 | "e c #c5b34b", 12 | "u c #cdcdcf", 13 | "d c #d0cd7e", 14 | "f c #e7fb9a", 15 | "b c #e8d27d", 16 | "m c #eadb96", 17 | "s c #ebeeec", 18 | "o c #f0e4bd", 19 | "p c #f2f4ce", 20 | "c c #f5f483", 21 | "n c #f6ece2", 22 | "j c #f9fef8", 23 | "q c #fee169", 24 | "k c #fff4c2", 25 | "g c #fffedf", 26 | "h c #ffffff", 27 | "..............######............", 28 | "...........############.........", 29 | "..........###abccccba###........", 30 | ".........##acccccccccca##.......", 31 | "........##dccccccccccccd##......", 32 | ".......##eccccfghhgfcccce##.....", 33 | ".......#iccccfhhhhhhfcccci#.....", 34 | "......##dccccjhhhhhhjccccd##....", 35 | "......##ccccfhhhhhhhhfcccc##....", 36 | "......##cccckhhhhhhhhkcccc##....", 37 | "......##ccccfhhhhhhhhfcccc##....", 38 | "......##dccccjhhhhhhjccccd##....", 39 | ".......#lccccmnhhhhnmccccl#.....", 40 | ".......##dccccbohhpbccccd##.....", 41 | "........#lcccccbccbcccccl#......", 42 | "........##acccccbbccccce##......", 43 | ".........##qcccccqccccq##.......", 44 | ".........##icccccqcccci##.......", 45 | "..........##dccccqcccd##........", 46 | "...........#iccccqcccl#.........", 47 | "...........##ccccqccc##.........", 48 | "...........##bcccqccb##.........", 49 | "............##########..........", 50 | "............rrssssssrr..........", 51 | "............rrttttttrr..........", 52 | "............rrssssssrr..........", 53 | "............rrttttttrr..........", 54 | "............rrussssurr..........", 55 | "............rrrrrrrrrr..........", 56 | ".............rrrrrrrr...........", 57 | "................................", 58 | "................................"}; 59 | -------------------------------------------------------------------------------- /icons/16@2x/folder.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *folder[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 10 1 ", 5 | " c None", 6 | ". c #A89453", 7 | "X c #AA9655", 8 | "o c #AC9755", 9 | "O c #B29B57", 10 | "+ c #B6A05A", 11 | "@ c #C8AF63", 12 | "# c #EDD075", 13 | "$ c #F7D97A", 14 | "% c #FBDC7C", 15 | /* pixels */ 16 | " ", 17 | " ", 18 | " ", 19 | " ", 20 | "............ ", 21 | "............. ", 22 | "..%%%%%%%%%@.. ", 23 | "..%%%%%%%%%$+.O ", 24 | "..%%%%%%%%%%#................. ", 25 | ".............................. ", 26 | "..%%%%%%%%%%%%%%%%%%%%%%%%%%.. ", 27 | "..%%%%%%%%%%%%%%%%%%%%%%%%%%.. ", 28 | "..%%%%%%%%%%%%%%%%%%%%%%%%%%.. ", 29 | "..%%%%%%%%%%%%%%%%%%%%%%%%%%.. ", 30 | "..%%%%%%%%%%%%%%%%%%%%%%%%%%.. ", 31 | "..%%%%%%%%%%%%%%%%%%%%%%%%%%.. ", 32 | "..%%%%%%%%%%%%%%%%%%%%%%%%%%.. ", 33 | "..%%%%%%%%%%%%%%%%%%%%%%%%%%.. ", 34 | "..%%%%%%%%%%%%%%%%%%%%%%%%%%.. ", 35 | "..%%%%%%%%%%%%%%%%%%%%%%%%%%.. ", 36 | "..%%%%%%%%%%%%%%%%%%%%%%%%%%.. ", 37 | "..%%%%%%%%%%%%%%%%%%%%%%%%%%.. ", 38 | "..%%%%%%%%%%%%%%%%%%%%%%%%%%.. ", 39 | "..%%%%%%%%%%%%%%%%%%%%%%%%%%.. ", 40 | "..%%%%%%%%%%%%%%%%%%%%%%%%%%.. ", 41 | "..%%%%%%%%%%%%%%%%%%%%%%%%%%.. ", 42 | ".............................. ", 43 | ".............................. ", 44 | " ", 45 | " ", 46 | " ", 47 | " " 48 | }; 49 | -------------------------------------------------------------------------------- /icons/16@2x/interface.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *interface[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 18 1 ", 5 | " c None", 6 | ". c #808080", 7 | "X c gray51", 8 | "o c gray52", 9 | "O c #868686", 10 | "+ c #9D9D9D", 11 | "@ c gray62", 12 | "# c #B4B4B4", 13 | "$ c gray71", 14 | "% c #B6B6B6", 15 | "& c #CBCBCB", 16 | "* c gray80", 17 | "= c gray86", 18 | "- c gainsboro", 19 | "; c #DFDFDF", 20 | ": c gray88", 21 | "> c #E1E1E1", 22 | ", c gray90", 23 | /* pixels */ 24 | " ", 25 | " ", 26 | " ", 27 | " ", 28 | " ", 29 | " ", 30 | " ", 31 | " ", 32 | " ...... ", 33 | " ........ ", 34 | " .... ..@*,,*@.. ", 35 | " ........ ..%,,,,,,%.. ", 36 | " ..%==%.............@,,,,,,,,@..", 37 | "..%,,,,%............*,,,,,,,,*..", 38 | "..=,,,,=..,,,,,,,,..,,,,,,,,,,..", 39 | "..=,,,,=..,,,,,,,,..,,,,,,,,,=..", 40 | "..%,,,,%............*,,,,,,,,*..", 41 | " ..%==%.............@,,,,,,,,@..", 42 | " ........ ..%,,,,,,%.. ", 43 | " .... ..@*,,*@.. ", 44 | " ........ ", 45 | " ...... ", 46 | " ", 47 | " ", 48 | " ", 49 | " ", 50 | " ", 51 | " ", 52 | " ", 53 | " ", 54 | " ", 55 | " " 56 | }; 57 | -------------------------------------------------------------------------------- /icons/16@2x/keyword.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *keyword[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 9 1 ", 5 | " c None", 6 | ". c #AB8349", 7 | "X c #FFC36D", 8 | "o c #848484", 9 | "O c #8D8D8D", 10 | "+ c gray62", 11 | "@ c gray71", 12 | "# c #B7B7B7", 13 | "$ c #ECECEC", 14 | /* pixels */ 15 | " ooooooooooooooooooo ", 16 | " oooooooooooooooooooo ", 17 | " oo$$$$$$$$$$$$$$OO#oo ", 18 | " oo$$$$$$$$$$$$$$OO$#oo ", 19 | " oo$$$$$$$$$$$$$$OO$$#oo ", 20 | " oo$$$$$$$$$$$$$$OO$$$#oo ", 21 | " oo$$++++++++$$$$OO$$$$#oo ", 22 | " oo$$++++++++$$$$OO$$$$$#oo ", 23 | " oo$$$$$$$$$$$$$$OOOOOOOOoo ", 24 | " oo$$$$$$$$$$$$$$OOOOOOOOoo ", 25 | " oo$$............$$$$$$$$oo ", 26 | " oo$$............$$$$$$$$oo ", 27 | " oo$$..XXXXXXXX..++++++$$oo ", 28 | " oo$$..XXXXXXXX..++++++$$oo ", 29 | " oo$$............$$$$$$$$oo ", 30 | " oo$$............$$$$$$$$oo ", 31 | " oo$$$$$$$$$$$$$$$$$$$$$$oo ", 32 | " oo$$$$$$$$$$$$$$$$$$$$$$oo ", 33 | " oo$$++++++++++++++++++$$oo ", 34 | " oo$$++++++++++++++++++$$oo ", 35 | " oo$$$$$$$$$$$$$$$$$$$$$$oo ", 36 | " oo$$$$$$$$$$$$$$$$$$$$$$oo ", 37 | " oo$$$$$$$$............$$oo ", 38 | " oo$$$$$$$$............$$oo ", 39 | " oo$$++++++..XXXXXXXX..$$oo ", 40 | " oo$$++++++..XXXXXXXX..$$oo ", 41 | " oo$$$$$$$$............$$oo ", 42 | " oo$$$$$$$$............$$oo ", 43 | " oooooooooooooooooooooooooo ", 44 | " oooooooooooooooooooooooooo ", 45 | " ", 46 | " " 47 | }; 48 | -------------------------------------------------------------------------------- /icons/16@2x/method.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *method[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 43 1 ", 5 | " c None", 6 | ". c #AB7671", 7 | "X c #AC7772", 8 | "o c #AC7773", 9 | "O c #AD7872", 10 | "+ c #AE7873", 11 | "@ c #AF7973", 12 | "# c #AE7874", 13 | "$ c #AF7874", 14 | "% c #AE7974", 15 | "& c #AF7974", 16 | "* c #AF7875", 17 | "= c #B07974", 18 | "- c #B07975", 19 | "; c #B17A75", 20 | ": c #B07976", 21 | "> c #B37A76", 22 | ", c #B27A77", 23 | "< c #B27B77", 24 | "1 c #B37B77", 25 | "2 c #B37C76", 26 | "3 c #B67E79", 27 | "4 c #B77E79", 28 | "5 c #B77F79", 29 | "6 c #B67E7A", 30 | "7 c #B77E7A", 31 | "8 c #B87F79", 32 | "9 c #B87F7A", 33 | "0 c #BF847F", 34 | "q c #C18580", 35 | "w c #C28681", 36 | "e c #DD9992", 37 | "r c #DE9993", 38 | "t c #E9A19A", 39 | "y c #EAA29B", 40 | "u c #EBA29C", 41 | "i c #F1A6A0", 42 | "p c #F2A7A0", 43 | "a c #F8ABA4", 44 | "s c #F9ACA5", 45 | "d c #FAADA6", 46 | "f c #FBADA6", 47 | "g c #FFB0A9", 48 | /* pixels */ 49 | " ", 50 | " ", 51 | " ", 52 | " ", 53 | " ", 54 | " ", 55 | " ", 56 | " ", 57 | " =$..$= ", 58 | " 6$........$9 ", 59 | " $..wrpssprw..= ", 60 | " $.9uggggggggu6.$ ", 61 | " $.0sggggggggggs0.= ", 62 | " 6.9sggggggggggggs6.6 ", 63 | " $.uggggggggggggggu.$ ", 64 | " .wggggggggggggggggw. ", 65 | " =.rggggggggggggggggr.=", 66 | " =.pggggggggggggggggp.$", 67 | " ..sggggggggggggggggs..", 68 | " ..sggggggggggggggggs.$", 69 | " =.pggggggggggggggggp.$", 70 | " =.rggggggggggggggggr.=", 71 | " .wggggggggggggggggw. ", 72 | " $.uggggggggggggggu.. ", 73 | " 9.6sggggggggggggs6.6 ", 74 | " =.0sggggggggggs0.= ", 75 | " $.6uggggggggu6.$ ", 76 | " =..wrpssprw..= ", 77 | " 6$.........6 ", 78 | " =$..$= ", 79 | " ", 80 | " " 81 | }; 82 | -------------------------------------------------------------------------------- /icons/16@2x/module.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *module[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 40 1 ", 5 | " c None", 6 | ". c #5B6192", 7 | "X c #5B6292", 8 | "o c #5C6091", 9 | "O c #5C6191", 10 | "+ c #5C6192", 11 | "@ c #5D6192", 12 | "# c #5C6193", 13 | "$ c #5C6292", 14 | "% c #5D6292", 15 | "& c #5D6293", 16 | "* c #5F6494", 17 | "= c #606494", 18 | "- c #636896", 19 | "; c #636897", 20 | ": c #787BA4", 21 | "> c #787CA5", 22 | ", c #787DA5", 23 | "< c #7C7FA7", 24 | "1 c #7C80A7", 25 | "2 c #7D81A8", 26 | "3 c #7E82A8", 27 | "4 c #7E82A9", 28 | "5 c #8386AB", 29 | "6 c #8286AC", 30 | "7 c #868AAE", 31 | "8 c #878BAE", 32 | "9 c #878AAF", 33 | "0 c #888BAF", 34 | "q c #8A8DB0", 35 | "w c #8A8EB1", 36 | "e c #8B8EB1", 37 | "r c #8C8FB1", 38 | "t c #8D8FB2", 39 | "y c #8C90B2", 40 | "u c #9195B5", 41 | "i c #9295B6", 42 | "p c #9497B7", 43 | "a c #9498B7", 44 | "s c #979AB9", 45 | /* pixels */ 46 | " ", 47 | " ", 48 | " ", 49 | " ", 50 | " ++++++++ ++++++++ ", 51 | " ++++++++ ++++++++ ", 52 | " ++sss7++ ++7sss++ ", 53 | " ++sss1++ ++1sss++ ", 54 | " ++sss2++ ++2sss++ ", 55 | " ++sssr++++++++rsss++ ", 56 | " ++ssss2++++++2ssss++ ", 57 | " +++++=sssssu5115usssss=+++++ ", 58 | " ++++++,ssssssssssssssss,++++++ ", 59 | "++-7urrssssssssssssssssssrru0-+ ", 60 | "++7ssssssssssssssssssssssssss7++", 61 | "++assssssssssssssssssssssssssu++", 62 | "++0ssssssssssssssssssssssssss7++", 63 | "++-7urrssssssssssssssssssrru7-+ ", 64 | " ++++++,ssssssssssssssss,++++++ ", 65 | " ++++=ssssssssssssssss+++++ ", 66 | " ++sssssu5,,5usssss++ ", 67 | " ++ssss2++++++2ssss++ ", 68 | " ++sssr++++++++ysss++ ", 69 | " ++sss2++ ++2sss++ ", 70 | " ++sss1++ ++1sss++ ", 71 | " ++sss7++ ++7sss++ ", 72 | " ++++++++ ++++++++ ", 73 | " ++++++++ ++++++++ ", 74 | " ", 75 | " ", 76 | " ", 77 | " " 78 | }; 79 | -------------------------------------------------------------------------------- /icons/16@2x/operator.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *operator[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 34 1 ", 5 | " c None", 6 | ". c #AB8348", 7 | "X c #AA8249", 8 | "o c #AA8349", 9 | "O c #AB8349", 10 | "+ c #AB834A", 11 | "@ c #AC8349", 12 | "# c #AB844A", 13 | "$ c #AC8449", 14 | "% c #AD844A", 15 | "& c #AD854A", 16 | "* c #B48A4D", 17 | "= c #B58A4D", 18 | "- c #B58B4D", 19 | "; c #B68B4E", 20 | ": c #C09352", 21 | "> c #C19352", 22 | ", c #C39553", 23 | "< c #C39654", 24 | "1 c #D1A059", 25 | "2 c #D2A15A", 26 | "3 c #E0AB60", 27 | "4 c #E2AD60", 28 | "5 c #E3AE61", 29 | "6 c #E6B062", 30 | "7 c #F1B867", 31 | "8 c #F1B967", 32 | "9 c #F3BA68", 33 | "0 c #F5BC69", 34 | "q c #F6BC69", 35 | "w c #FBC06B", 36 | "e c #FBC16B", 37 | "r c #FCC06C", 38 | "t c #FFC36D", 39 | /* pixels */ 40 | " ", 41 | " ", 42 | " OOOO ", 43 | " OOOOOO ", 44 | " OOOOOOOttOOOOOOO ", 45 | " OOOOOOOOttOOOOOOOO ", 46 | " OOtt9,OOttOO,8ttOO ", 47 | " OOtttt6=tt=3ttttOO ", 48 | " OOOO2tttttttt2OOOO ", 49 | " OOOO=3tttt3=OOOO ", 50 | " OOOO=3tttt3=OOOO ", 51 | " OOOO2tttttttt2OOOO ", 52 | " OOtttt6=tt=3ttttOO ", 53 | " OOtt9,OOttOO,8ttOO ", 54 | " OOOOOOOOttOOOOOOOO ", 55 | " OOOOOOOttOOOOOOO ", 56 | " OOOOOO ", 57 | " OOOO ", 58 | " ", 59 | " ", 60 | " ", 61 | " ", 62 | " OOOO ", 63 | " OOOOOO ", 64 | " OO,99,OO ", 65 | " OO9tt9OO ", 66 | " OO9tt9OO ", 67 | " OO,99,OO ", 68 | " OOOOOO ", 69 | " OOOO ", 70 | " ", 71 | " " 72 | }; 73 | -------------------------------------------------------------------------------- /icons/16@2x/property.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *property[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 3 1 ", 5 | " c None", 6 | ". c #619B55", 7 | "X c #BCD9B3", 8 | /* pixels */ 9 | " ", 10 | " ", 11 | " ", 12 | " ", 13 | " ", 14 | " ", 15 | " ", 16 | " ", 17 | " ................ ", 18 | " ................ ", 19 | " ..XXXXXXXXXXXX.. ", 20 | " ..XXXXXXXXXXXX.. ", 21 | " ..XXXXXXXXXXXX.. ", 22 | " ..XXXXXXXXXXXX.. ", 23 | " ..XXXXXXXXXXXX.. ", 24 | " ..XXXXXXXXXXXX.. ", 25 | " ..XXXXXXXXXXXX.. ", 26 | " ..XXXXXXXXXXXX.. ", 27 | " ..XXXXXXXXXXXX.. ", 28 | " ..XXXXXXXXXXXX.. ", 29 | " ..XXXXXXXXXXXX.. ", 30 | " ..XXXXXXXXXXXX.. ", 31 | " ................ ", 32 | " ................ ", 33 | " ", 34 | " ", 35 | " ", 36 | " ", 37 | " ", 38 | " ", 39 | " ", 40 | " " 41 | }; 42 | -------------------------------------------------------------------------------- /icons/16@2x/refactor.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *refactor[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 59 1 ", 5 | " c None", 6 | ". c #49789C", 7 | "X c #49799D", 8 | "o c #4A799C", 9 | "O c #4A799D", 10 | "+ c #4A7A9D", 11 | "@ c #4A7A9E", 12 | "# c #4B7B9F", 13 | "$ c #4B7CA0", 14 | "% c #4C7DA3", 15 | "& c #4C7EA3", 16 | "* c #4D7FA5", 17 | "= c #7E858B", 18 | "- c #5083AA", 19 | "; c #5084AB", 20 | ": c #5388B1", 21 | "> c #5389B1", 22 | ", c #5A93BF", 23 | "< c #5A94C0", 24 | "1 c #5D99C6", 25 | "2 c #5E9AC7", 26 | "3 c #62A1D1", 27 | "4 c #67AADC", 28 | "5 c #68ABDD", 29 | "6 c #69ACDF", 30 | "7 c #69ADE0", 31 | "8 c #6BB0E4", 32 | "9 c #6CB1E5", 33 | "0 c #6DB3E8", 34 | "q c #858687", 35 | "w c #868686", 36 | "e c gray53", 37 | "r c #888888", 38 | "t c #898989", 39 | "y c gray54", 40 | "u c gray55", 41 | "i c #8D8D8D", 42 | "p c gray56", 43 | "a c #939393", 44 | "s c gray60", 45 | "d c #9A9A9A", 46 | "f c #9B9B9B", 47 | "g c #A0A0A0", 48 | "h c gray64", 49 | "j c #B1B1B1", 50 | "k c #B4B4B4", 51 | "l c gray71", 52 | "z c #BCBCBC", 53 | "x c gray75", 54 | "c c #C0C0C0", 55 | "v c #C6C6C6", 56 | "b c gray80", 57 | "n c gray81", 58 | "m c #D2D2D2", 59 | "M c #DADADA", 60 | "N c #E1E1E1", 61 | "B c #E6E6E6", 62 | "V c #EAEAEA", 63 | "C c gray93", 64 | /* pixels */ 65 | " eeer eeeeeeee ", 66 | " eeeeeeeeeeeeeeeeeee ", 67 | " eeCmgreergmCCCCNkree ", 68 | " eeCCCCzCCCCCCCCCCMfee ", 69 | " eeCCCCzCCCCCCCCCCCCkee ", 70 | " eeCCCCzCCCCCCCCCCCCCcee ", 71 | " eeCCCCzCCCCCCCareergckee ", 72 | " eeCbfrerfbCCCCeeeeeeeree ", 73 | " eeeeeeeeerNCCCee reee ", 74 | " eeee eezCCCee ee ", 75 | " ekCCCee r ", 76 | " ekCCCee ", 77 | " =eeeeeee ", 78 | " eeeeeeee ", 79 | " .$0000$. ", 80 | " .;0000;. ", 81 | " $.<0000,.$ ", 82 | " .$600006$. ", 83 | " $.20300302.$ ", 84 | " ..60300304.. ", 85 | " ..90300309.. ", 86 | " ..00300300.. ", 87 | " ..00300300.. ", 88 | " ..00300300.. ", 89 | " ..00300300.. ", 90 | " ..00300300.. ", 91 | " ..70300306.. ", 92 | " $.>630036>.$ ", 93 | " .......... ", 94 | " $......$ ", 95 | " ", 96 | " " 97 | }; 98 | -------------------------------------------------------------------------------- /icons/16@2x/reference.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *reference[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 58 1 ", 5 | " c None", 6 | ". c #655F4C", 7 | "X c #67614E", 8 | "o c #6B6554", 9 | "O c #736E5F", 10 | "+ c #565C6E", 11 | "@ c #776464", 12 | "# c #776565", 13 | "$ c #786464", 14 | "% c #786565", 15 | "& c #7A6969", 16 | "* c #61677B", 17 | "= c #676B79", 18 | "- c #7F7171", 19 | "; c #846E6E", 20 | ": c #88857A", 21 | "> c #A99F7F", 22 | ", c #8C8B86", 23 | "< c #8E8C88", 24 | "1 c #88898E", 25 | "2 c #928787", 26 | "3 c #918C8C", 27 | "4 c #918D8D", 28 | "5 c gray60", 29 | "6 c #9B9B9B", 30 | "7 c gray61", 31 | "8 c #9D9D9D", 32 | "9 c #9F9E9C", 33 | "0 c #AA8F8F", 34 | "q c #AB8F8F", 35 | "w c #A29A96", 36 | "e c #A09E9E", 37 | "r c #A1A09C", 38 | "t c #A6A59E", 39 | "y c #A9A89F", 40 | "u c #BCB49C", 41 | "i c #9E9EA2", 42 | "p c #9099B8", 43 | "a c #A3A1A1", 44 | "s c #A4A4A4", 45 | "d c #AFA7A1", 46 | "f c #A9A8A1", 47 | "g c #ACABA1", 48 | "h c #A3A5AD", 49 | "j c #A4A6AE", 50 | "k c #B0A7A1", 51 | "l c #B6ACAC", 52 | "z c #A6A9B1", 53 | "x c gray71", 54 | "c c #C6A6A6", 55 | "v c #D3BABA", 56 | "b c #CBC5B2", 57 | "n c #C6C6C6", 58 | "m c #DDCACA", 59 | "M c #DDDDDD", 60 | "N c #FDFDFC", 61 | "B c #FEFDFD", 62 | "V c white", 63 | /* pixels */ 64 | " ", 65 | " ", 66 | " ;@@@@@@@@@@@@@@@@@@@@@@@2 ", 67 | " ;@@@@@@@@@@@@@@@@@@@@@@&3l ", 68 | " ;@$0cccccccccccccccccccve6 ", 69 | ";@$0cccccccccccccccccccmV66 ", 70 | "@@@@@@@@@@@@@@@@@@@@@@@VV66 ", 71 | "@@cccccccccccccccccccccVVs6 ", 72 | "@@cccccccccccccccccccccVVx6l ", 73 | "@@cccccccccccccccccccccVVn6s ", 74 | "@@cccccccccccccccccccccVM66w..X:", 75 | "@@cccccccccccccccccccccM66w..o1f", 76 | "@@@@@@@@@@@@@@@@@@@@@@@36d>>u66 ", 77 | "@@@@@@@@@@@@@@@@@@@@@@@-k>>bV66 ", 78 | " .......................VV66 ", 79 | " ..>>>>>>>>>>>>>>>>>>>>>VVs6 ", 80 | " ..>>>>>>>>>>>>>>>>>>>>>VVx6f", 81 | " ..>>>>>>>>>>>>>>>>>>>>>VVn6t", 82 | " ..>>>>>>>>>>>>>>>>>>>>>VM66y", 83 | " ..>>>>>>>>>>>>>>>>>>>>>M66y ", 84 | " *.......................,6f ", 85 | " *+.......................Ot ", 86 | " +++++++++++++++++++++++VV66 ", 87 | " ++pppppppppppppppppppppVVs6 ", 88 | " ++pppppppppppppppppppppVVx6z ", 89 | " ++pppppppppppppppppppppVVn6i ", 90 | " ++pppppppppppppppppppppVM66j ", 91 | " ++pppppppppppppppppppppM66j ", 92 | " +++++++++++++++++++++++16j ", 93 | " +++++++++++++++++++++++=j ", 94 | " ", 95 | " " 96 | }; 97 | -------------------------------------------------------------------------------- /icons/16@2x/snippet.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *snippet[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 2 1 ", 5 | " c None", 6 | ". c #727272", 7 | /* pixels */ 8 | " ", 9 | " ", 10 | " ", 11 | " ", 12 | " ", 13 | " ", 14 | " ", 15 | " ", 16 | " ........ ", 17 | " ........ ", 18 | " ", 19 | " ", 20 | " ........ ", 21 | " ........ ", 22 | " ", 23 | " ", 24 | " ........ ", 25 | " ........ ", 26 | " ", 27 | " ", 28 | " ............................ ", 29 | " ............................ ", 30 | " ", 31 | " ", 32 | " ............................ ", 33 | " ............................ ", 34 | " ", 35 | " ", 36 | " ............................ ", 37 | " ............................ ", 38 | " ", 39 | " " 40 | }; 41 | -------------------------------------------------------------------------------- /icons/16@2x/struct.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *dummy[]={ 3 | "32 32 29 1", 4 | ". c None", 5 | "m c #6e8ca4", 6 | "o c #747b95", 7 | "p c #8091a3", 8 | "n c #8f906e", 9 | "q c #919e84", 10 | "r c #926966", 11 | "l c #a3674f", 12 | "t c #a3a490", 13 | "k c #a58b74", 14 | "a c #a77d46", 15 | "u c #acbbc2", 16 | "b c #b04e41", 17 | "# c #b0875b", 18 | "w c #b29695", 19 | "v c #b56a6f", 20 | "x c #b97b6c", 21 | "s c #bcc8d8", 22 | "y c #bd8f7f", 23 | "f c #c5524f", 24 | "h c #c95d51", 25 | "j c #ca6052", 26 | "c c #cda36e", 27 | "A c #cf957d", 28 | "d c #deb96b", 29 | "g c #e86462", 30 | "z c #eeaead", 31 | "i c #f3775d", 32 | "e c #f3c067", 33 | "........##......................", 34 | ".......#aa#...........bb........", 35 | "......#aaaa#..........bb........", 36 | ".....#aacdaa#........bbbb.......", 37 | "....#aaceedaa#......bbffbb......", 38 | "...#aaceeeedaa#.....bbggbb......", 39 | "..#aaceeeeeedaa#...bbhiihbb.....", 40 | ".#aaceeeeeeeedaa#..bbiiiibb.....", 41 | "#aaceeeeeeeeeedaa#bbjiiiijbb....", 42 | ".aaceeeeeeeeeedaaabbiiiiiibb....", 43 | "..aaceeeeeeeedaa#bbgiiiiiigbb...", 44 | "..kaaceeeeeedaa#lbbiiiiiiiifbb..", 45 | "mmmnaaceeeedaanobbgiiiiiiiigbb..", 46 | "mmppqaaceedaanprbfiiiiiiiiiifbb.", 47 | "mmssstaacdaatsubbbbbbbbbbbbbbbb.", 48 | "mmsssstaaaatssvbbbbbbbbbbbbbbbbb", 49 | "mmssssstaatsssswxyzzzzzzzzzzyxx.", 50 | "mmssssssttssssuxxzzzzzzzzzzzzxx.", 51 | "mmsssssssssssswxAzzzzzzzzzzzzAxx", 52 | "mmssssssssssssxxzzzzzzzzzzzzzzxx", 53 | "mmssssssssssssxxzzzzzzzzzzzzzzxx", 54 | "mmssssssssssssxxzzzzzzzzzzzzzzxx", 55 | "mmssssssssssssxxzzzzzzzzzzzzzzxx", 56 | "mmsssssssssssswxAzzzzzzzzzzzzAxx", 57 | "mmssssssssssssuxxzzzzzzzzzzzzxx.", 58 | "mmssssssssssssswxyzzzzzzzzzzyxx.", 59 | "mmsssssssssssssuxxyzzzzzzzzyxx..", 60 | "mmuuuuuuuuuuuuuupxxxAzzzzAxxx...", 61 | "mmmmmmmmmmmmmmmmmpxxxxxxxxxx....", 62 | "mmmmmmmmmmmmmmmmmm..xxxxxx......", 63 | "................................", 64 | "................................"}; 65 | -------------------------------------------------------------------------------- /icons/16@2x/text.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ static char *dummy[]={ "32 32 1 1", ". c None", "................................", "................................", "................................", "................................", "................................", "................................", "................................", "................................", "................................", "................................", "................................", "................................", "................................", "................................", "................................", "................................", "................................", "................................", "................................", "................................", "................................", "................................", "................................", "................................", "................................", "................................", "................................", "................................", "................................", "................................", "................................", "................................"}; 2 | -------------------------------------------------------------------------------- /icons/16@2x/type_parameter.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *type_parameter[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 59 1 ", 5 | " c None", 6 | ". c #AB8249", 7 | "X c #AB8349", 8 | "o c #AB834A", 9 | "O c #AC8249", 10 | "+ c #AC8349", 11 | "@ c #AB8449", 12 | "# c #AC8449", 13 | "$ c #BC9050", 14 | "% c #BD9051", 15 | "& c #BD9151", 16 | "* c #BE9151", 17 | "= c #BE9251", 18 | "- c #BF9251", 19 | "; c #BF9252", 20 | ": c #BF9352", 21 | "> c #C09352", 22 | ", c #C19352", 23 | "< c #C09452", 24 | "1 c #C19453", 25 | "2 c #C29552", 26 | "3 c #C29553", 27 | "4 c #C39553", 28 | "5 c #C49653", 29 | "6 c #C39654", 30 | "7 c #C49554", 31 | "8 c #C59654", 32 | "9 c #C59754", 33 | "0 c #C69755", 34 | "q c #C69855", 35 | "w c #C79855", 36 | "e c #C79955", 37 | "r c #C99A55", 38 | "t c #C89956", 39 | "y c #CA9B56", 40 | "u c #CA9B57", 41 | "i c #CB9B57", 42 | "p c #CB9C57", 43 | "a c #CC9C57", 44 | "s c #CD9D58", 45 | "d c #CE9D58", 46 | "f c #CE9E58", 47 | "g c #CF9F58", 48 | "h c #CF9E59", 49 | "j c #D09F58", 50 | "k c #D09F59", 51 | "l c #F9BF6B", 52 | "z c #FABF6B", 53 | "x c #FAC06B", 54 | "c c #FBC06B", 55 | "v c #FBC16B", 56 | "b c #FCC06C", 57 | "n c #FCC16C", 58 | "m c #FDC16C", 59 | "M c #FDC26C", 60 | "N c #FEC26C", 61 | "B c #FEC26D", 62 | "V c #FEC36D", 63 | "C c #FFC36D", 64 | /* pixels */ 65 | " ", 66 | " ", 67 | " ", 68 | " ", 69 | " XX XX ", 70 | " XXXX XXXX ", 71 | " XXtkXX XXktXX ", 72 | " XXtCCgXX XXgCCtXX ", 73 | " XXtCCC>XX XX:CCCtXX ", 74 | " XXtCCC:XX XX:CCCtXX ", 75 | " XXtCCC>XX XX:lCCtXX ", 76 | " XXtCCC>XX XX:lCCgXX ", 77 | " XXtCCC:XX XX:lCCgXX ", 78 | " XXgCCC:XX XX:CCCgXX ", 79 | "XXgCCC:XX XX:CCCgXX", 80 | "XX>CCC>XX XX>CCC>XX", 81 | " XX>CCC>XX XX>CCC>XX ", 82 | " XX>CCC>XX XX>CCC>XX ", 83 | " XX>CCC>XX XX>CCC>XX ", 84 | " XX>CCC>XX XX:CCC>XX ", 85 | " XX>CCC>XX XX>CCC>XX ", 86 | " XXeCCC>XX XX:CCCtXX ", 87 | " XXeCCgXX XXgCCeXX ", 88 | " XXekXX XXkeXX ", 89 | " XXXX XXXX ", 90 | " XX XX ", 91 | " ", 92 | " ", 93 | " ", 94 | " ", 95 | " ", 96 | " " 97 | }; 98 | -------------------------------------------------------------------------------- /icons/16@2x/unit.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *unit[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 3 1 ", 5 | " c None", 6 | ". c #70899D", 7 | "X c #A7CDEA", 8 | /* pixels */ 9 | " ", 10 | " ", 11 | " ", 12 | " ", 13 | " ", 14 | " ", 15 | " ", 16 | " ", 17 | " ................ ", 18 | " ................ ", 19 | " ..XXXXXXXXXXXX.. ", 20 | " ..XXXXXXXXXXXX.. ", 21 | " ..XXXXXXXXXXXX.. ", 22 | " ..XXXXXXXXXXXX.. ", 23 | " ..XXXXXXXXXXXX.. ", 24 | " ..XXXXXXXXXXXX.. ", 25 | " ..XXXXXXXXXXXX.. ", 26 | " ..XXXXXXXXXXXX.. ", 27 | " ..XXXXXXXXXXXX.. ", 28 | " ..XXXXXXXXXXXX.. ", 29 | " ..XXXXXXXXXXXX.. ", 30 | " ..XXXXXXXXXXXX.. ", 31 | " ................ ", 32 | " ................ ", 33 | " ", 34 | " ", 35 | " ", 36 | " ", 37 | " ", 38 | " ", 39 | " ", 40 | " " 41 | }; 42 | -------------------------------------------------------------------------------- /icons/16@2x/value.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *value[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 3 1 ", 5 | " c None", 6 | ". c #9C8A4D", 7 | "X c #E9CE73", 8 | /* pixels */ 9 | " ", 10 | " ", 11 | " ", 12 | " ", 13 | " ", 14 | " ", 15 | " ", 16 | " ", 17 | " ................ ", 18 | " ................ ", 19 | " ..XXXXXXXXXXXX.. ", 20 | " ..XXXXXXXXXXXX.. ", 21 | " ..XXXXXXXXXXXX.. ", 22 | " ..XXXXXXXXXXXX.. ", 23 | " ..XXXXXXXXXXXX.. ", 24 | " ..XXXXXXXXXXXX.. ", 25 | " ..XXXXXXXXXXXX.. ", 26 | " ..XXXXXXXXXXXX.. ", 27 | " ..XXXXXXXXXXXX.. ", 28 | " ..XXXXXXXXXXXX.. ", 29 | " ..XXXXXXXXXXXX.. ", 30 | " ..XXXXXXXXXXXX.. ", 31 | " ................ ", 32 | " ................ ", 33 | " ", 34 | " ", 35 | " ", 36 | " ", 37 | " ", 38 | " ", 39 | " ", 40 | " " 41 | }; 42 | -------------------------------------------------------------------------------- /icons/16@2x/variable.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *variable[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 3 1 ", 5 | " c None", 6 | ". c #65727F", 7 | "X c #DDE5EF", 8 | /* pixels */ 9 | " ", 10 | " ", 11 | " ", 12 | " ", 13 | " ...................... ", 14 | " ...................... ", 15 | " ..XXXXXXXXXXXXXXXXXX.. ", 16 | " ..XXXXXXXXXXXXXXXXXX.. ", 17 | " ..XXXXXXXXXXXXXXXXXX.. ", 18 | " ..XXXXXXXXXXXXXXXXXX.. ", 19 | " ..XXXXXXXXXXXXXXXXXX.. ", 20 | " ..XXXXXXXXXXXXXXXXXX.. ", 21 | " ..XXXXXXXXXXXXXXXXXX.. ", 22 | " ..XXXXXXXXXXXXXXXXXX.. ", 23 | " ..XXXXXXXXXXXXXXXXXX.. ", 24 | " ..XXXXXXXXXXXXXXXXXX.. ", 25 | " ..XXXXXXXXXXXXXXXXXX.. ", 26 | " ..XXXXXXXXXXXXXXXXXX.. ", 27 | " ..XXXXXXXXXXXXXXXXXX.. ", 28 | " ..XXXXXXXXXXXXXXXXXX.. ", 29 | " ..XXXXXXXXXXXXXXXXXX.. ", 30 | " ..XXXXXXXXXXXXXXXXXX.. ", 31 | " ..XXXXXXXXXXXXXXXXXX.. ", 32 | " ..XXXXXXXXXXXXXXXXXX.. ", 33 | " ...................... ", 34 | " ...................... ", 35 | " ", 36 | " ", 37 | " ", 38 | " ", 39 | " ", 40 | " " 41 | }; 42 | -------------------------------------------------------------------------------- /icons/HOWTO: -------------------------------------------------------------------------------- 1 | Convert SVG into png. 2 | 3 | for i in *.svg; do inkscape -o 16/${i%.svg}.png --export-type=png -w 16 -h 16 $i; done 4 | for i in *.svg; do inkscape -o 16@2x/${i%.svg}.png --export-type=png -w 32 -h 32 -d 192 $i; done 5 | 6 | Convert png into xpm. 7 | 8 | cd 16 9 | for i in *.png; do magick $i ${i%.png}.xpm; done 10 | cd 16@2x 11 | for i in *.png; do magick $i ${i%.png}.xpm; done 12 | 13 | Scintilla only supports 1 character per pixel. 14 | 15 | grep '16 16' 16/*.xpm 16 | grep '32 32' 16@2x/*.xpm 17 | 18 | For any XPM that has 2 or more characters per pixel: 19 | 1. Load into Krita 20 | 2. Filter > Map > Palettize... 21 | 3. Pick a palette 22 | 4. Save 23 | -------------------------------------------------------------------------------- /icons/class.svg: -------------------------------------------------------------------------------- 1 | 2 | 22 | 23 | 24 | 25 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | -------------------------------------------------------------------------------- /icons/color.svg: -------------------------------------------------------------------------------- 1 | 2 | 22 | 23 | 24 | 25 | 50 | 51 | Apache NetBeans Logo 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | -------------------------------------------------------------------------------- /icons/constant.svg: -------------------------------------------------------------------------------- 1 | 2 | 22 | 23 | 24 | 25 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /icons/constructor.svg: -------------------------------------------------------------------------------- 1 | 2 | 22 | 23 | 24 | 25 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /icons/event.svg: -------------------------------------------------------------------------------- 1 | 2 | 22 | 23 | 24 | 25 | 34 | 35 | 36 | 37 | 38 | 39 | Apache NetBeans Logo 40 | 41 | 42 | -------------------------------------------------------------------------------- /icons/field.svg: -------------------------------------------------------------------------------- 1 | 2 | 22 | 23 | 24 | 25 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /icons/file.svg: -------------------------------------------------------------------------------- 1 | 2 | 22 | 23 | 24 | 25 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /icons/fix.svg: -------------------------------------------------------------------------------- 1 | 2 | 22 | 23 | 24 | 25 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | -------------------------------------------------------------------------------- /icons/folder.svg: -------------------------------------------------------------------------------- 1 | 2 | 22 | 23 | 24 | 25 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /icons/interface.svg: -------------------------------------------------------------------------------- 1 | 2 | 22 | 23 | 24 | 25 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /icons/keyword.svg: -------------------------------------------------------------------------------- 1 | 2 | 22 | 23 | 24 | 25 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | Apache NetBeans Logo 71 | 72 | 73 | -------------------------------------------------------------------------------- /icons/method.svg: -------------------------------------------------------------------------------- 1 | 2 | 22 | 23 | 24 | 25 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /icons/module.svg: -------------------------------------------------------------------------------- 1 | 2 | 22 | 23 | 24 | 25 | 34 | 35 | 36 | 37 | 38 | 39 | Apache NetBeans Logo 40 | 41 | 42 | -------------------------------------------------------------------------------- /icons/operator.svg: -------------------------------------------------------------------------------- 1 | 2 | 22 | 23 | 24 | 25 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | Apache NetBeans Logo 44 | 45 | 46 | -------------------------------------------------------------------------------- /icons/property.svg: -------------------------------------------------------------------------------- 1 | 2 | 22 | 23 | 24 | 25 | 34 | 35 | 36 | 37 | 38 | 39 | Apache NetBeans Logo 40 | 41 | 42 | -------------------------------------------------------------------------------- /icons/refactor.svg: -------------------------------------------------------------------------------- 1 | 2 | 22 | 23 | 24 | 25 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | Apache NetBeans Logo 80 | 81 | 82 | -------------------------------------------------------------------------------- /icons/reference.svg: -------------------------------------------------------------------------------- 1 | 2 | 22 | 23 | 24 | 25 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /icons/snippet.svg: -------------------------------------------------------------------------------- 1 | 2 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /icons/struct.svg: -------------------------------------------------------------------------------- 1 | 2 | 22 | 23 | 24 | 25 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /icons/type_parameter.svg: -------------------------------------------------------------------------------- 1 | 2 | 22 | 23 | 24 | 25 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | Apache NetBeans Logo 44 | 45 | 46 | -------------------------------------------------------------------------------- /icons/unit.svg: -------------------------------------------------------------------------------- 1 | 2 | 22 | 23 | 24 | 25 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /icons/value.svg: -------------------------------------------------------------------------------- 1 | 2 | 22 | 23 | 24 | 25 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /icons/variable.svg: -------------------------------------------------------------------------------- 1 | 2 | 22 | 23 | 24 | 25 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /ldoc.patch: -------------------------------------------------------------------------------- 1 | --- a/ldoc.lua 2016-11-07 09:20:55.000000000 -0500 2 | +++ b/ldoc.lua 2023-01-26 09:53:47.446847946 -0500 3 | @@ -15,7 +15,10 @@ 4 | -- @copyright 2011 5 | -- @license MIT/X11 6 | -- @script ldoc 7 | 8 | +local dir = arg[0]:match('^(.+)[/\\]') 9 | +package.path = string.format('%s/?.lua;%s/?/init.lua', dir, dir) 10 | + 11 | local class = require 'pl.class' 12 | local app = require 'pl.app' 13 | local path = require 'pl.path' 14 | --- a/ldoc/tools.lua 2016-11-07 09:20:55.000000000 -0500 15 | +++ b/ldoc/tools.lua 2023-01-26 09:53:47.446847946 -0500 16 | @@ -266,7 +266,10 @@ 17 | end 18 | local lpath,cnt = fname:gsub('^'..utils.escape(basename),'') 19 | --print('deduce',lpath,cnt,basename) 20 | - if cnt ~= 1 then quit("module(...) name deduction failed: base "..basename.." "..fname) end 21 | + if cnt ~= 1 then 22 | + print("module(...) name deduction failed: base "..basename.." "..fname) 23 | + return '_UNKNOWN' 24 | + end 25 | lpath = lpath:gsub(path.sep,'.') 26 | return (M.name_of(lpath):gsub('%.init$','')) 27 | end 28 | --------------------------------------------------------------------------------