Compare commits
123 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d68e7ff7ce | ||
|
|
c4c3e7e51e | ||
|
|
2460a82153 | ||
|
|
23a8d495f5 | ||
|
|
2ccd542610 | ||
|
|
1c66dc733f | ||
|
|
5934b9733d | ||
|
|
7ae28cc479 | ||
|
|
add8342f67 | ||
|
|
b89bb73476 | ||
|
|
a00fa953c2 | ||
|
|
1e623b1d65 | ||
|
|
c0ddad642f | ||
|
|
4f1286612b | ||
|
|
267e631933 | ||
|
|
0da23d376d | ||
|
|
bdbfd3d71a | ||
|
|
11edc26279 | ||
|
|
4171d1ce3b | ||
|
|
bc866f8375 | ||
|
|
42f0bae28f | ||
|
|
d0c712950f | ||
|
|
228b724f5b | ||
|
|
5fac7e15a8 | ||
|
|
1338204787 | ||
|
|
afcbcfb522 | ||
|
|
64a24768cd | ||
|
|
39c4cd6800 | ||
|
|
c854c97c22 | ||
|
|
35a5313e77 | ||
|
|
2525736bea | ||
|
|
102d470380 | ||
|
|
9ade820252 | ||
|
|
c2d6e7bed8 | ||
|
|
8a51d2512e | ||
|
|
542de89d16 | ||
|
|
6aafdf9a84 | ||
|
|
c9b82f55b6 | ||
|
|
0497ef686a | ||
|
|
476df369ba | ||
|
|
5c14fc1025 | ||
|
|
92da4732c7 | ||
|
|
c9c01ec769 | ||
|
|
ebb6a8525e | ||
|
|
4edbe7b491 | ||
|
|
a21c39e5c8 | ||
|
|
74a39850f2 | ||
|
|
c821336adf | ||
|
|
e36e455e1b | ||
|
|
7f675b34ad | ||
|
|
33ab4a1196 | ||
|
|
6cc90c2bd3 | ||
|
|
9ef4438b4f | ||
|
|
d19db6e50d | ||
|
|
93cfc76d78 | ||
|
|
e3ab970d5a | ||
|
|
7f00380fe1 | ||
|
|
f95a48212e | ||
|
|
033c781467 | ||
|
|
3be3f700f4 | ||
|
|
109972a5e7 | ||
|
|
a7cb89eda1 | ||
|
|
7cbef66b7d | ||
|
|
d15837a69e | ||
|
|
2690f3deea | ||
|
|
82517bc57e | ||
|
|
f74653aba3 | ||
|
|
879ab8f506 | ||
|
|
9b899b14b4 | ||
|
|
bf1d5c617e | ||
|
|
728beae0b2 | ||
|
|
ebe433a65a | ||
|
|
6d8c2650aa | ||
|
|
0f51d31daa | ||
|
|
0288253929 | ||
|
|
777690862d | ||
|
|
10828dce8b | ||
|
|
62df942569 | ||
|
|
059e093cb3 | ||
|
|
736c30a6bc | ||
|
|
c60770b2f5 | ||
|
|
fc4611e1fa | ||
|
|
01c6eeb782 | ||
|
|
cfb0b2f6bb | ||
|
|
24fe65848b | ||
|
|
5f2a6b1382 | ||
|
|
9f7b6c47ab | ||
|
|
1511c4c820 | ||
|
|
7c33e7bf55 | ||
|
|
570743a3da | ||
|
|
62833599f4 | ||
|
|
36f11ee2bd | ||
|
|
2580ce36a8 | ||
|
|
8a4c3693f2 | ||
|
|
d2cb1690cb | ||
|
|
c7b03095c4 | ||
|
|
92b02bbe0e | ||
|
|
f8ab060457 | ||
|
|
3fe98ed092 | ||
|
|
87fa5d1302 | ||
|
|
09b81d2796 | ||
|
|
2d9683675b | ||
|
|
d524f06429 | ||
|
|
8dfb5db642 | ||
|
|
cfc00e6c6b | ||
|
|
17522a2b16 | ||
|
|
902f40202a | ||
|
|
34d25acb74 | ||
|
|
b65757584b | ||
|
|
518c2ca90a | ||
|
|
005eb4b52c | ||
|
|
daa06ac8de | ||
|
|
fdd1a9acdb | ||
|
|
f42c69b158 | ||
|
|
991edfdac3 | ||
|
|
64552d2733 | ||
|
|
a7819bd022 | ||
|
|
529e8b910f | ||
|
|
e886befe4c | ||
|
|
df1583b9c2 | ||
|
|
cabc579b4b | ||
|
|
c82d9d4f1b | ||
|
|
3bb2926c88 |
137
CHANGELOG.md
137
CHANGELOG.md
@@ -1,5 +1,142 @@
|
||||
# ZeroBrane Studio Changelog
|
||||
|
||||
## v0.50 (Mar 10 2014)
|
||||
|
||||
### Highlights
|
||||
- Fixed opening files and launching on OSX 10.6.x and 10.9.1+.
|
||||
- Improved CPU utilization when idle on OSX.
|
||||
- Added handling of command-line parameters.
|
||||
- Implemented various auto-complete and tooltip improvements.
|
||||
- Updated Love2d API for 0.9.0.
|
||||
- Updated Corona API auto-complete/description to match v2014.2189 (G2.0).
|
||||
- Updated Marmalade Quick API for v7.2.
|
||||
- Updated French, German, Italian, and Russian translations.
|
||||
|
||||
### Special thanks
|
||||
- To [Asmageddon](https://github.com/Asmageddon) for fixed launching zbstudio from folders with spaces.
|
||||
- To [Christoph Kubisch](https://github.com/pixeljetstream) for various luxinia2 fixes.
|
||||
- To [Yonaba](https://github.com/Yonaba/) for updated French translation.
|
||||
- To [riidom](https://github.com/riidom/) for updated German translation.
|
||||
- To [bartoleo](https://github.com/bartoleo/) for updated Italian translations.
|
||||
|
||||
### Improvements
|
||||
- Added explicit focus for Find field in the find dialog on OSX.
|
||||
- Added version dependency check for loaded plugins.
|
||||
- Added `auxwindow` attribute to style auxiliary windows.
|
||||
- Added sha2 library to provide sha256 hashing.
|
||||
- Added package GetRootPath/GetPackagePath calls (ref #166).
|
||||
- Added package FindMenuItem API call (ref #166).
|
||||
- Added API call to analyze one file.
|
||||
- Added restoring markers after external modification and file reload.
|
||||
- Added displaying number of selected characters and instances (closes #274).
|
||||
- Added using safe load for external data instead of loadstring.
|
||||
- Added check for editor state during Edit menu display (ref #70).
|
||||
- added italian translations; thanks to [bartoleo](https://github.com/bartoleo/).
|
||||
- Added Russian translation for new items in the main menu (ref #70).
|
||||
- Added package GetApp method (ref #166).
|
||||
- Added package GetDebugger API call (ref #166).
|
||||
- Added setting project directory passed as a parameter (second instance).
|
||||
- Added Shift+Zoom to zoom all editors (closes #269).
|
||||
- Added `alpha` setting for sel/seladd/caretlinebg styles.
|
||||
- Added package GetToolBar API call (ref #166).
|
||||
- Added `seladd` setting for styling additional selections.
|
||||
- Added `Select and Find Next/Prev` (closes #268).
|
||||
- Added showing search dialog for Quick Find on first search (closes #265).
|
||||
- Added `nomousezoom` option for Console/Output windows (closes #266).
|
||||
- Added error reporting when debugger server fails to start (closes #263).
|
||||
- Added support for command line parameters for GSL-shell (ref #251).
|
||||
- Added support for editor shortcuts and included standard OSX ones (closes #252).
|
||||
- Added auto-complete for metamethods (closes #256).
|
||||
- Added Minimize shortcut on OSX (closes #254).
|
||||
- Added handling of command line parameters for love2d (ref #251).
|
||||
- Added handling of command line parameters (closes #251).
|
||||
- Added calling of end callback for detached processes.
|
||||
- Added skipping compile check for non-lua files in scratchpad.
|
||||
- Added handling of (optional) BOM in UTF-8 encoded files (closes #246).
|
||||
- Added hint about removing backslash for invalid escape sequences.
|
||||
- Adjusted tooltip position and content to always fit on the screen.
|
||||
- allow tool exe paths to be set in config prior load
|
||||
- Changed the order of applying styles to apply the main style last.
|
||||
- Disabled singleinstance check by default on OSX (ref #204).
|
||||
- Disable debugging termination when stack trace received from remote process.
|
||||
- glsl: added imageSize to spec and api
|
||||
- luxinia2 define some global vars if debugger is present
|
||||
- luxinia2 support 32 and 64 bit runtime
|
||||
- luxinia2: new setup, added support for debugging with main.lua and rudimentary scratchpad functionality
|
||||
- Reduced the number of inactivity checks and timer calls (ref #204).
|
||||
- Removed `calltipbg` attribute as it's replaced by `calltip.bg`.
|
||||
- Removed unused files from metalua.
|
||||
- Removed paragraph-to-newline conversion for API tooltips.
|
||||
- Resolved conflict for Opt+Left (ref #252 and #203).
|
||||
- Removed jumping to the current line after compilation errors.
|
||||
- Switched to using temp files instead of -e option for debugging (ref #251).
|
||||
- shader tools: allow relative directories for binaries
|
||||
- shader specs: add isfncall definition to allow indication style
|
||||
- Updated AddConfig/RemoveConfig to refresh styles after changes (ref #166).
|
||||
- Updated Marmalade Quick API for v7.2.
|
||||
- Updated Corona API for v2014.2189.
|
||||
- Updated scheme picker to apply styles to all windows.
|
||||
- Updated LfW interpreter to use project directory as current one (fixes #276).
|
||||
- Updated README.
|
||||
- Updated comment markup separators to apply markup in fewer cases.
|
||||
- Updated French translation; thanks to [Yonaba](https://github.com/Yonaba/).
|
||||
- Update de.lua; thanks to [riidom](https://github.com/riidom/).
|
||||
- Updated Linux scripts to remove custom libpng/zlib as it's fixed in wxwidgets.
|
||||
- Updated check for editor state during Edit menu display (ref #70).
|
||||
- Updated Corona API auto-complete/description to match v2013.2100 (ref #73).
|
||||
- Updated all language files with new messages (ref #70).
|
||||
- Updated messages for better translation (ref #70).
|
||||
- Updated love2d api with LineJoin and few other calls (ref #247).
|
||||
- Updated OSX build script for wxwidgets 3.x (ref #260).
|
||||
- Updated build script to compile wxwidgets 3.x on Windows (ref #260).
|
||||
- Updated love2d api with some missing calls (ref #247).
|
||||
- updated luxinia2 interpreter to reflect new luxinia2 structure
|
||||
- Updated Love2d API for 0.9.0. (closes #247).
|
||||
- Upgraded Mobdebug (0.551) to fix serialization of table/array indexes.
|
||||
- updates to shader apis (bugfix in GLSL atomic description)
|
||||
|
||||
### Incompatibilities
|
||||
- Updated LfW interpreter to use project directory as current one (fixes #276).
|
||||
- Removed `styles.calltipbg` as it is replaced by `styles.calltip.bg`.
|
||||
|
||||
### Fixes
|
||||
- Fixed shortcut menu generator to display default shortcuts.
|
||||
- Fixed removing focus from editor when IDE loses focus on OSX (ref #204).
|
||||
- Fixed hiding calltip and auto-complete when switching between tabs on OSX.
|
||||
- Fixed handling of getenv returning general message (Mobdebug v0.5511).
|
||||
- Fixed launching zbstudio from folders with spaces; thanks to @Asmageddon.
|
||||
- Fixed `calltip` attribute to use/enable proper style.
|
||||
- Fixed visibility of wrapped lines in console when going through history.
|
||||
- Fixed syntax issues in definitions of IDE tables.
|
||||
- Fixed an issue in metalua files when syntax error is reported.
|
||||
- Fixed arrow key handling in Local console (fixes #279).
|
||||
- Fixed removing temporary files in GSL-shell interpreter.
|
||||
- Fixed tooltip positioning for long messages.
|
||||
- Fixed current line in debugging after activation of files with wrapped lines.
|
||||
- Fixed spurious ESC after activation on Windows when modifiers are pressed.
|
||||
- Fixed skipping empty lines in tooltip formatting.
|
||||
- Fixed comment markup at the end of a file.
|
||||
- Fixed formatting calculations for tooltip to better fill the window.
|
||||
- Fixed stopping debugging when switching projects with the same interpreter.
|
||||
- Fixed auto-complete for classes with more than two levels.
|
||||
- Fixed removal of paragraph breaks in tooltips after interpreter switch.
|
||||
- Fixed API reloading that caused removal of paragraph breaks in tooltips.
|
||||
- Fixed translations for stock menu items on Ubuntu 13.10 (ref #70).
|
||||
- Fixed an issue with spec/tools/interpreters filters not working from config.
|
||||
- Fixed messages script to work with LuaJIT.
|
||||
- Fixed console output with multiple new lines at the end.
|
||||
- Fixed issues on OSX 10.6.x and 10.9.1+ caused by flat namespace (fix #270, fix #264).
|
||||
- Fixed an issue with `isfncall` spec property not being checked.
|
||||
- Fixed function localization in menu handlers.
|
||||
- Fixed default selection for search in case of multiple selections.
|
||||
- Fixed dependency of lfs/git dlls on lualib.dll.
|
||||
- Fixed an issue with activating proper tab after dragging.
|
||||
- Fixed displaying local console output with invalid unicode characters.
|
||||
- Fixed displaying script output with invalid unicode characters.
|
||||
- Fixed drawing artifacts on Windows when line wrapping disabled (fixes #250).
|
||||
- Fixed setting bom value for a new editor (fixes #258).
|
||||
- Fixed auto-complete for values returned by 'core' functions (ref #256).
|
||||
|
||||
## v0.40 (Dec 14 2013)
|
||||
|
||||
### Highlights
|
||||
|
||||
34
README.md
34
README.md
@@ -2,8 +2,15 @@
|
||||
|
||||
[ZeroBrane Studio](http://studio.zerobrane.com/) is a lightweight Lua IDE with code completion, syntax
|
||||
highlighting, remote debugger, code analyzer, live coding, and debugging
|
||||
support for several Lua engines (LuaJIT, Löve 2D, Moai, Gideros, Corona, Marmalade Quick,
|
||||
MobileLua, GSL-shell, and others). It originated from the [Estrela Editor](http://www.luxinia.de/index.php/Estrela/).
|
||||
support for several Lua engines (LuaJIT,
|
||||
[Löve 2D](http://notebook.kulchenko.com/zerobrane/love2d-debugging),
|
||||
[Moai](http://notebook.kulchenko.com/zerobrane/moai-debugging-with-zerobrane-studio),
|
||||
[Gideros](http://notebook.kulchenko.com/zerobrane/gideros-debugging-with-zerobrane-studio-ide),
|
||||
[Corona](http://notebook.kulchenko.com/zerobrane/debugging-and-live-coding-with-corona-sdk-applications-and-zerobrane-studio),
|
||||
[Marmalade Quick](http://notebook.kulchenko.com/zerobrane/marmalade-quick-debugging-with-zerobrane-studio),
|
||||
[Cocos2d-x](http://notebook.kulchenko.com/zerobrane/cocos2d-x-simulator-and-on-device-debugging-with-zerobrane-studio),
|
||||
[GSL-shell](http://notebook.kulchenko.com/zerobrane/gsl-shell-debugging-with-zerobrane-studio),
|
||||
MobileLua, and others). It originated from the [Estrela Editor](http://www.luxinia.de/index.php/Estrela/).
|
||||
|
||||
## Features
|
||||
|
||||
@@ -15,17 +22,20 @@ MobileLua, GSL-shell, and others). It originated from the [Estrela Editor](http:
|
||||
[Lua 5.2](http://studio.zerobrane.com/doc-lua52-debugging.html),
|
||||
[LuaJIT](http://studio.zerobrane.com/doc-luajit-debugging.html),
|
||||
and [other Lua engines](http://studio.zerobrane.com/documentation.html#debugging).
|
||||
* Live coding with Lua ([demo](http://notebook.kulchenko.com/zerobrane/live-coding-in-lua-bret-victor-style)),
|
||||
Löve 2D ([demo](http://notebook.kulchenko.com/zerobrane/live-coding-with-love)),
|
||||
Gideros ([demo](http://notebook.kulchenko.com/zerobrane/gideros-live-coding-with-zerobrane-studio-ide)),
|
||||
Moai ([demo](http://notebook.kulchenko.com/zerobrane/live-coding-with-moai-and-zerobrane-studio)),
|
||||
and Corona SDK ([demo](http://notebook.kulchenko.com/zerobrane/debugging-and-live-coding-with-corona-sdk-applications-and-zerobrane-studio)).
|
||||
* Support for plugin-like components:
|
||||
- specs (`spec/`): file syntax, lexer, and keywords;
|
||||
- apis (`api/`): for code completion and tooltips;
|
||||
* [Live coding](http://studio.zerobrane.com/documentation.html#live_coding)
|
||||
with [Lua](http://notebook.kulchenko.com/zerobrane/live-coding-in-lua-bret-victor-style),
|
||||
[Löve 2D](http://notebook.kulchenko.com/zerobrane/live-coding-with-love),
|
||||
[Gideros](http://notebook.kulchenko.com/zerobrane/gideros-live-coding-with-zerobrane-studio-ide),
|
||||
[Moai](http://notebook.kulchenko.com/zerobrane/live-coding-with-moai-and-zerobrane-studio),
|
||||
[Corona SDK](http://notebook.kulchenko.com/zerobrane/debugging-and-live-coding-with-corona-sdk-applications-and-zerobrane-studio),
|
||||
GSL-shell, and other engines.
|
||||
* Several ways to extend the current functionality:
|
||||
- specs (`spec/`): specifications for file syntax, lexer, and keywords;
|
||||
- apis (`api/`): descriptions for [code completion and tooltips](http://studio.zerobrane.com/doc-api-auto-complete.html);
|
||||
- interpreters (`interpreters/`): components for setting debugging and run-time project environment;
|
||||
- config (`cfg/`): contains style, color themes, and other settings;
|
||||
- packages (`packages/`): plugins that provide additional functionality;
|
||||
- packages (`packages/`): [plugins](http://studio.zerobrane.com/doc-plugin.html) that provide additional functionality;
|
||||
- config (`cfg/`): settings for styles, color themes, and other preferences;
|
||||
- translations (`cfg/i18n/`): [translations](http://studio.zerobrane.com/doc-translation.html) of the menus and messages to other languages;
|
||||
- tools (`tools/`): additional tools.
|
||||
|
||||
## Documentation
|
||||
|
||||
@@ -153,18 +153,31 @@ memoryBarrierShared = fn "control ordering of memory transactions issued by shad
|
||||
memoryBarrierBuffer = fn "control ordering of memory transactions issued by shader thread. - ()()",
|
||||
memoryBarrierImage = fn "control ordering of memory transactions issued by shader thread. - ()()",
|
||||
groupMemoryBarrier = fn "control ordering of memory transactions issued by shader thread. - ()()",
|
||||
imageAtomicAdd = fn "performs atomic operation on individual texels returns new value. - (uint)(imageN, intN coord, [int sample], uint data)",
|
||||
imageAtomicMin = fn "performs atomic operation on individual texels returns new value. - (uint)(imageN, intN coord, [int sample], uint data)",
|
||||
imageAtomicMax = fn "performs atomic operation on individual texels returns new value. - (uint)(imageN, intN coord, [int sample], uint data)",
|
||||
imageAtomicIncWrap = fn "performs atomic operation on individual texels returns new value. - (uint)(imageN, intN coord, [int sample], uint data)",
|
||||
imageAtomicDecWrap = fn "performs atomic operation on individual texels returns new value. - (uint)(imageN, intN coord, [int sample], uint data)",
|
||||
imageAtomicAnd = fn "performs atomic operation on individual texels returns new value. - (uint)(imageN, intN coord, [int sample], uint data)",
|
||||
imageAtomicOr = fn "performs atomic operation on individual texels returns new value. - (uint)(imageN, intN coord, [int sample], uint data)",
|
||||
imageAtomicXor = fn "performs atomic operation on individual texels returns new value. - (uint)(imageN, intN coord, [int sample], uint data)",
|
||||
imageAtomicExchange = fn "performs atomic operation on individual texels returns new value. - (uint)(imageN, intN coord, [int sample], uint data)",
|
||||
imageAtomicCompSwap = fn "performs atomic operation on individual texels returns new value. - (uint)(imageN, intN coord, [int sample], uint data)",
|
||||
imageAtomicAdd = fn "performs atomic operation on individual texels returns old value. - (uint)(imageN, intN coord, [int sample], uint data)",
|
||||
imageAtomicMin = fn "performs atomic operation on individual texels returns old value. - (uint)(imageN, intN coord, [int sample], uint data)",
|
||||
imageAtomicMax = fn "performs atomic operation on individual texels returns old value. - (uint)(imageN, intN coord, [int sample], uint data)",
|
||||
imageAtomicIncWrap = fn "performs atomic operation on individual texels returns old value. - (uint)(imageN, intN coord, [int sample], uint data)",
|
||||
imageAtomicDecWrap = fn "performs atomic operation on individual texels returns old value. - (uint)(imageN, intN coord, [int sample], uint data)",
|
||||
imageAtomicAnd = fn "performs atomic operation on individual texels returns old value. - (uint)(imageN, intN coord, [int sample], uint data)",
|
||||
imageAtomicOr = fn "performs atomic operation on individual texels returns old value. - (uint)(imageN, intN coord, [int sample], uint data)",
|
||||
imageAtomicXor = fn "performs atomic operation on individual texels returns old value. - (uint)(imageN, intN coord, [int sample], uint data)",
|
||||
imageAtomicExchange = fn "performs atomic operation on individual texels returns old value. - (uint)(imageN, intN coord, [int sample], uint data)",
|
||||
imageAtomicCompSwap = fn "performs atomic operation on individual texels returns old value. - (uint)(imageN, intN coord, [int sample], uint data)",
|
||||
imageStore = fn "stores the texel at the coordinate. - ()(imageN, intN coord, [int sample], vecN data)",
|
||||
imageLoad = fn "loads the texel at the coordinate. - (vecN)(imageN, intN coord, [int sample])",
|
||||
imageSize = fn "returns the size of the image. - (ivecN)(imageN)",
|
||||
|
||||
atomicCounterIncrement = fn "increments counter and returns old value. - (uint)(atomic_uint)",
|
||||
atomicCounterDecrement = fn "decrements counter and returns old value. - (uint)(atomic_uint)",
|
||||
atomicCounter = fn "returns current counter value. - (uint)(atomic_uint)",
|
||||
atomicMin = fn "performs atomic operation on memory location (ssbo/shared) returns old value. - (uint)(inout uint mem, uint data)",
|
||||
atomicMax = fn "performs atomic operation on memory location (ssbo/shared) returns old value. - (uint)(inout uint mem, uint data)",
|
||||
atomicAdd = fn "performs atomic operation on memory location (ssbo/shared) returns old value. - (uint)(inout uint mem, uint data)",
|
||||
atomicAnd = fn "performs atomic operation on memory location (ssbo/shared) returns old value. - (uint)(inout uint mem, uint data)",
|
||||
atomicOr = fn "performs atomic operation on memory location (ssbo/shared) returns old value. - (uint)(inout uint mem, uint data)",
|
||||
atomicXor = fn "performs atomic operation on memory location (ssbo/shared) returns old value. - (uint)(inout uint mem, uint data)",
|
||||
atomicExchange = fn "performs atomic operation on memory location (ssbo/shared) returns old value. - (uint)(inout uint mem, uint data)",
|
||||
atomicCompSwap = fn "performs atomic operation on memory location (ssbo/shared) returns old value. - (uint)(inout uint mem, uint data)",
|
||||
|
||||
textureSize = fn "returns the size of the texture (no lod required: Rect, MS and Buffer). - (intN)(samplerN, [int lod])",
|
||||
textureQueryLod = fn "returns the lod values for a given coordinate. - (vec2)(samplerN, vecN coord)",
|
||||
@@ -234,7 +247,7 @@ local keyw =
|
||||
gl_NumWorkGroups gl_WorkGroupSize gl_WorkGroupID gl_LocalInvocationID gl_GlobalInvocationID gl_LocalInvocationIndex
|
||||
local_size_x local_size_y local_size_z
|
||||
gl_BaseVertexARB gl_BaseInstanceARB gl_DrawIDARB
|
||||
bindless_sampler bound_sampler bindless_image bound_image
|
||||
bindless_sampler bound_sampler bindless_image bound_image early_fragment_tests
|
||||
|
||||
coherent volatile restrict readonly writeonly
|
||||
image1D image2D image3D image2DRect imageCube imageBuffer image1DArray image2DArray imageCubeArray image2DMS image2DMSArray
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
5654
api/lua/corona.lua
5654
api/lua/corona.lua
File diff suppressed because it is too large
Load Diff
2533
api/lua/love2d.lua
2533
api/lua/love2d.lua
File diff suppressed because it is too large
Load Diff
2339
api/lua/luxgfx.lua
2339
api/lua/luxgfx.lua
File diff suppressed because one or more lines are too long
@@ -1,9 +1,15 @@
|
||||
-- Copyright 2013 Paul Kulchenko, ZeroBrane LLC
|
||||
-- Copyright 2013-14 Paul Kulchenko, ZeroBrane LLC
|
||||
|
||||
return {
|
||||
ads = {
|
||||
type = "class",
|
||||
childs = {
|
||||
init = {
|
||||
type = "method",
|
||||
description = "Initialise the ad system, must be called before the ad system can be used.",
|
||||
args = "()",
|
||||
returns = "()",
|
||||
},
|
||||
isAvailable = {
|
||||
type = "method",
|
||||
description = "Checks availability of ads.",
|
||||
@@ -27,6 +33,12 @@ return {
|
||||
analytics = {
|
||||
type = "class",
|
||||
childs = {
|
||||
endSession = {
|
||||
type = "method",
|
||||
description = "Ends a Flurry analytics session.",
|
||||
args = "()",
|
||||
returns = "()",
|
||||
},
|
||||
isAvailable = {
|
||||
type = "method",
|
||||
description = "Checks availability of analytics.",
|
||||
@@ -47,7 +59,7 @@ return {
|
||||
},
|
||||
startSession = {
|
||||
type = "method",
|
||||
description = "Starts a Flurry analytics session.\nyour app",
|
||||
description = "Starts a Flurry analytics session.",
|
||||
args = "(apiKey: string)",
|
||||
returns = "()",
|
||||
},
|
||||
@@ -263,7 +275,7 @@ return {
|
||||
},
|
||||
isAvailable = {
|
||||
type = "method",
|
||||
description = "Checks available of in-app purchasing.",
|
||||
description = "Checks availability of in-app purchasing.",
|
||||
args = "()",
|
||||
returns = "(boolean)",
|
||||
},
|
||||
@@ -519,6 +531,10 @@ return {
|
||||
director = {
|
||||
type = "class",
|
||||
childs = {
|
||||
addNodesToScene = {
|
||||
type = "value",
|
||||
description = "Whether or not the Director should automatically add newly-created display objects to the current scene.\nThe default value is true.",
|
||||
},
|
||||
addScene = {
|
||||
type = "method",
|
||||
description = "Add a Scene object to the Director. The added Scene object will become the current scene.\nTypically this function is not called directly: instead, the app calls director:createScene() which both creates the new Scene\nobject and adds it to the Director.",
|
||||
@@ -536,84 +552,84 @@ return {
|
||||
description = "Create an animation, specifying arbitrary input values.\nSee the Objects reference for details of all properties and functions on the Animation object.",
|
||||
valuetype = "animation",
|
||||
args = "(values: table)",
|
||||
returns = "(object)",
|
||||
returns = "(animation)",
|
||||
},
|
||||
createAtlas = {
|
||||
type = "method",
|
||||
description = "Create a texture atlas. Two different input types are permitted:\n| ``director:createAtlas(filename)``\n| ``director:createAtlas(values)``\nSee the Objects reference for details of all properties and functions on the Atlas object.",
|
||||
valuetype = "atlas",
|
||||
args = "(filename: string, values: table)",
|
||||
returns = "(object)",
|
||||
returns = "(atlas)",
|
||||
},
|
||||
createBBox = {
|
||||
type = "method",
|
||||
description = "Create a bounding box object, from x and y bounds. The object simply copies these values into the properties\nxMin, xMax, yMin, yMax respectively.\n----------\n**Scene functions**.",
|
||||
valuetype = "box",
|
||||
args = "(xMin: number, xMax: number, yMin: number, yMax: number)",
|
||||
returns = "(object)",
|
||||
returns = "(box)",
|
||||
},
|
||||
createCircle = {
|
||||
type = "method",
|
||||
description = "Create a Circle node. Two different input types are permitted:\n| ``director:createCircle(x, y, radius)``\n| ``director:createCircle(values)``\nSee the Objects reference for details of all properties and functions on the Circle object.",
|
||||
valuetype = "circle",
|
||||
args = "(x: number, y: number, radius: number, values: table)",
|
||||
returns = "(object)",
|
||||
returns = "(circle)",
|
||||
},
|
||||
createFont = {
|
||||
type = "method",
|
||||
description = "Create a Font object. Two different input types are permitted:\n| ``director:createFont(filename)``\n| ``director:createFont(values)``\nSee the Objects reference for details of all properties and functions on the Font object.",
|
||||
valuetype = "font",
|
||||
args = "(filename: string, values: table)",
|
||||
returns = "(object)",
|
||||
returns = "(font)",
|
||||
},
|
||||
createLabel = {
|
||||
type = "method",
|
||||
description = "Create a Label node. Two different input types are permitted:\n| ``director:createLabel(x, y, text, font)``\n| ``director:createLabel(values)``\nSee the Objects reference for details of all properties and functions on the Label object.",
|
||||
valuetype = "label",
|
||||
args = "(x: number, y: number, text: string, font: object or string, values: table)",
|
||||
returns = "(object)",
|
||||
returns = "(label)",
|
||||
},
|
||||
createLines = {
|
||||
type = "method",
|
||||
description = "Create a Lines node. Two different input types are permitted:\n| ``director:createLines(x, y, coords)``\n| ``director:createLines(values)``\nSee the Objects reference for details of all properties and functions on the Lines object.",
|
||||
valuetype = "lines",
|
||||
args = "(x: number, y: number, coords: table, values: table)",
|
||||
returns = "(object)",
|
||||
returns = "(lines)",
|
||||
},
|
||||
createNode = {
|
||||
type = "method",
|
||||
description = "Create a Node object, specifying a table of arbitrary input values.\nSee the Objects reference for details of all properties and functions on the Node object.",
|
||||
valuetype = "node",
|
||||
args = "(values: table)",
|
||||
returns = "(object)",
|
||||
returns = "(node)",
|
||||
},
|
||||
createParticles = {
|
||||
type = "method",
|
||||
description = "Create a Particles node. Three different input types are permitted:\n| ``director:createParticles(plist)``\n| ``director:createParticles(numParticles)``\n| ``director:createParticles(values)``\nThis file is output from the ParticleDesigner tool, or similar.\nThe app should then set up all other member variables explicitly.\nwritable properties of the Particles object. Additionally, the user \ncan specify the 'source' property, which can be a full pathname to a \ntexture, or an existing Atlas object. For example::\n-- Specify texture from filename\nlocal p1 = director:createParticles( { totalParticles=500, source=\"particles/fire.png\" } )\n-- Specify texture from Atlas object\nlocal atlas = director:createAtlas(\"textures/beachball.png\")\nlocal p2 = director:createParticles( { totalParticles=500, source=atlas } )\nSee the Objects reference for details of all properties and functions on the Particles object.",
|
||||
valuetype = "particles",
|
||||
args = "(plist: string, numParticles: number, values: table)",
|
||||
returns = "(object)",
|
||||
returns = "(particles)",
|
||||
},
|
||||
createRectangle = {
|
||||
type = "method",
|
||||
description = "Create a Rectangle node. Two different input types are permitted:\n| ``director:createRectangle(x, y, w, h)``\n| ``director:createRectangle(values)``\nSee the Objects reference for details of all properties and functions on the Rectangle object.",
|
||||
valuetype = "rectangle",
|
||||
args = "(x: number, y: number, w: number, h: number, values: table)",
|
||||
returns = "(object)",
|
||||
returns = "(rectangle)",
|
||||
},
|
||||
createScene = {
|
||||
type = "method",
|
||||
description = "Create a scene node, and set it to be the director's current scene.\nNote that no transition occurs from any previous scene, and no scene events are thrown.",
|
||||
valuetype = "scene",
|
||||
args = "()",
|
||||
returns = "(object)",
|
||||
returns = "(scene)",
|
||||
},
|
||||
createSprite = {
|
||||
type = "method",
|
||||
description = "Create a Sprite node. Two different input types are permitted:\n| ``director:createSprite(x, y, source)``\n| ``director:createSprite(values)``\nSee the Objects reference for details of all properties and functions on the Sprite object.",
|
||||
valuetype = "sprite",
|
||||
args = "(x: number, y: number, source: number or object, values: table)",
|
||||
returns = "(object)",
|
||||
returns = "(sprite)",
|
||||
},
|
||||
displayCenterX = {
|
||||
type = "value",
|
||||
@@ -637,6 +653,10 @@ return {
|
||||
args = "()",
|
||||
returns = "(object)",
|
||||
},
|
||||
isAlphaInherited = {
|
||||
type = "value",
|
||||
description = "Whether or not node alpha (and strokeAlpha) should be inherited (propogated) through the scene graph.\nThe default value is true.",
|
||||
},
|
||||
moveToScene = {
|
||||
type = "method",
|
||||
description = "Move to a new scene. The new scene receives the following events:\n- setUp - Called immediately, only if the new scene is not already set up.\n- enterPreTransition - Called BEFORE any transition, immediately after the check for sending of the setUp event.\n- enterPostTransition - Called AFTER any transition has completed.\nThe old scene receives the following events:\n- exitPreTransition - Called BEFORE any transition, immediately after the enterPreTransition event is sent to the new scene.\n- tearDown - Called AFTER any transition has completed, if the scene is currently set up.\n- exitPostTransition - Called AFTER any transition has completed, immediately after the tearDown event.\nThe options table can take the following properties:\n- transitionType (string) - Valid values are:\n- \"rotoZoom\"\n- \"jumpZoom\"\n- \"moveInR\"\n- \"moveInT\"\n- \"moveInB\"\n- \"slideInL\"\n- \"slideInR\"\n- \"slideInB\"\n- \"slideInT\"\n- \"shrinkGrow\"\n- \"flipX\"\n- \"flipY\"\n- \"flipAngular\"\n- \"zoomFlipX\"\n- \"zoomFlipY\"\n- \"zoomFlipAngular\"\n- \"crossFade\"\n- \"turnOffTiles\"\n- \"splitCols\"\n- \"splitRows\"\n- \"fadeTR\"\n- \"fadeBL\"\n- \"fadeUp\"\n- \"fadeDown\"\n- \"progressRadialCCW\"\n- \"progressRadialCW\"\n- \"progressHorizontal\"\n- \"progressVertical\"\n- \"progressInOut\"\n- \"progressOutIn\"\n- \"fade\"\n- \"pageTurn\"\nYou'll have to experiment with them to find out what they really do! \n- transitionTime (number) - The duration of the transition, in seconds.\n----------\n**Node functions**.",
|
||||
@@ -666,6 +686,12 @@ return {
|
||||
facebook = {
|
||||
type = "class",
|
||||
childs = {
|
||||
isAvailable = {
|
||||
type = "method",
|
||||
description = "Checks availability of the Facebook API.",
|
||||
args = "()",
|
||||
returns = "(boolean)",
|
||||
},
|
||||
login = {
|
||||
type = "method",
|
||||
description = "Log in to Facebook.\nDisplays the Facebook login dialog. If the user has already put in\ntheir Facebook details then this dialog may not be displayed.",
|
||||
@@ -743,7 +769,7 @@ return {
|
||||
description = "The null function allows one to specify a null value in an associative array (which is otherwise\ndiscarded if you set the value with 'nil' in Lua).",
|
||||
valuetype = "null",
|
||||
args = "()",
|
||||
returns = "(object)",
|
||||
returns = "(null)",
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -856,7 +882,7 @@ return {
|
||||
description = "Add a timed event to this node.",
|
||||
valuetype = "timer",
|
||||
args = "(funcortable: function or table, period: number, iterations: number, delay: number)",
|
||||
returns = "(object)",
|
||||
returns = "(timer)",
|
||||
},
|
||||
alpha = {
|
||||
type = "value",
|
||||
@@ -906,6 +932,18 @@ return {
|
||||
args = "()",
|
||||
returns = "(object)",
|
||||
},
|
||||
getPointInLocalSpace = {
|
||||
type = "method",
|
||||
description = "Given a point in the world (scene) space, return a point in the node's local space.\nNote that for this function to behave as expected, the node's local transform must\nbe up-to-date. For example, if trying to call this function directly after creating a node,\nyou should call Node:sync() to update the local transform first.\n:return: Returns an x,y pair for the point in local (node) space.",
|
||||
args = "(x: number, y: number)",
|
||||
returns = "()",
|
||||
},
|
||||
getPointInWorldSpace = {
|
||||
type = "method",
|
||||
description = "Given a point in the node's local space, return a point in the world (scene) space.\nNote that for this function to behave as expected, the node's local transform must\nbe up-to-date. For example, if trying to call this function directly after creating a node,\nyou should call Node:sync() to update the local transform first.\n:return: Returns an x,y pair for the point in world (scene) space.",
|
||||
args = "(x: number, y: number)",
|
||||
returns = "()",
|
||||
},
|
||||
getTimersTimeScale = {
|
||||
type = "method",
|
||||
description = "Get the time scaling factor currently applied to all timers on this node.",
|
||||
@@ -1026,6 +1064,12 @@ return {
|
||||
args = "(f: number)",
|
||||
returns = "()",
|
||||
},
|
||||
sync = {
|
||||
type = "method",
|
||||
description = "Synchronises the Cocos2d-x data with the Quick data for this Node. In most scenarios you do\nnot need to explicitly call this function - it is done automatically across the scene, as\npart of the Director's update.",
|
||||
args = "()",
|
||||
returns = "()",
|
||||
},
|
||||
timers = {
|
||||
type = "value",
|
||||
description = "The list (table) of timers attached to this node. The table can be queried for its length, and can be iterated over, but must\nnot be manipulated in any other way. Attempting to insert or remove elements from the table will result in undefined and almost\ncertainly undesirable behaviour.",
|
||||
@@ -1082,36 +1126,6 @@ return {
|
||||
},
|
||||
},
|
||||
},
|
||||
nui = {
|
||||
type = "class",
|
||||
childs = {
|
||||
createWebView = {
|
||||
type = "method",
|
||||
description = "Create a fullscreen or windowed web view. Two different input types are permitted:\n| ``director:createWebView(url)``\n| ``director:createWebView(values)``\nExamples::\n-- Create a fullscreen web view\nlocal view1 = director:createWebView(\"http://www.google.com/news\")\n-- Create a windowed web view\nlocal view2 = director:createWebView( {\nx=0, y=0, \nw=200, h=100, \ntransparentBackground=true, \nurl=\"http://www.google.com/news\", \n} )",
|
||||
valuetype = "webView",
|
||||
args = "(url: string, values: table)",
|
||||
returns = "(object)",
|
||||
},
|
||||
isReadStringAvailable = {
|
||||
type = "method",
|
||||
description = "Check whether \"readString\" functionality is available on the target device.\nNote that in Quick 1.0, \"readString\" functionality is not supported on Mac, so this function will return false.",
|
||||
args = "()",
|
||||
returns = "(boolean)",
|
||||
},
|
||||
isWebViewAvailable = {
|
||||
type = "method",
|
||||
description = "Check whether web views are available on the target device.",
|
||||
args = "()",
|
||||
returns = "(boolean)",
|
||||
},
|
||||
readString = {
|
||||
type = "method",
|
||||
description = "Creates a modal native dialog box for inputting a text string. The dialog box displays the string being entered, and\nthe native device Input Method Entry (IME) mechanism it used to capture the string (for mobile devices, this is usually\nin the form of a \"soft keyboard\" that slides onto the screen for touch-typing).\nThe user must specify a \"prompt\" string, that will be used as a title for the native dialog box. The user may optionally\nspecify a \"mode\" string, which can be used to configure the IME (e.g. the type of touch keyboard) depending on the type\nof string being captured - e.g to switch to an optimised touch keyboard for inputting URLs, if the device supports it.\nThe default is to use the standard IME (e.g. the standard type of touch keyboard)\nFinally, the user can optionally specify a \"default\" string that will pre-populate the dialog box. The user must then\nuse the IME to edit the string if required.\nAll strings (both input and output) are in UTF8 format.\n- \"email\" - Optimise for email address entry.\n- \"number\" - Optimise for number entry.\n- \"password\" - Optimise for password entry (e.g. hide characters after typing).\n- \"url\" - Optimise for URL entry.\n- \"\" or no input - Standard entry.\notherwise the return value is always of type 'string', even if the 'mode' input is specified as 'number'.",
|
||||
args = "(promptUTF8: string [, mode: string] [, defaultUTF8: string])",
|
||||
returns = "(string or nil)",
|
||||
},
|
||||
},
|
||||
},
|
||||
particles = {
|
||||
type = "class",
|
||||
childs = {
|
||||
@@ -1163,6 +1177,12 @@ return {
|
||||
type = "value",
|
||||
description = "The random variance, in degrees, to add to the final spin of each particle. The final spin\nof each particle will be a random value in the range [endSpin - endSpinVar, endSpin + endSpinVar].\nThe default value is 0.",
|
||||
},
|
||||
isActive = {
|
||||
type = "method",
|
||||
description = "Returns true only if there are any particles still alive.",
|
||||
args = "()",
|
||||
returns = "(boolean)",
|
||||
},
|
||||
isFull = {
|
||||
type = "method",
|
||||
description = "Returns true only if the number of living particles is equal to the total number of particles\npermitted by the particle system ('totalParticles').",
|
||||
@@ -1446,70 +1466,70 @@ return {
|
||||
description = "Creates a distance joint that constrains the two attached bodies to maintain a constant distance defined\nby the two anchor points. Two different input types are permitted:\n| ``physics:createDistanceJoint(nodeA, nodeB, x1, y1, x2, y2, collideConnected)``\n| ``physics:createDistanceJoint(values)``\nSupported properties, beyond those of the default constructor, include:\n- length (number) - The distance to maintain between the joints\n- frequency (number) - The frequency of any oscillation\n- dampingRatio (number) - The damping ratio of any oscillation",
|
||||
valuetype = "jointDistance",
|
||||
args = "(nodeA: object, nodeB: object [, x1: number] [, y1: number] [, x2: number] [, y2: number] [, collideConnected: boolean], values: table)",
|
||||
returns = "(object)",
|
||||
returns = "(jointDistance)",
|
||||
},
|
||||
createFrictionJoint = {
|
||||
type = "method",
|
||||
description = "Creates a friction joint: a special kind of revolute / prismatic joint that resists motion, and provides\n2D translational and angular friction. Two different input types are permitted:\n| ``physics:createFrictionJoint(nodeA, nodeB, collideConnected)``\n| ``physics:createFrictionJoint(values)``",
|
||||
valuetype = "jointFriction",
|
||||
args = "(nodeA: object, nodeB: object [, collideConnected: boolean], values: table)",
|
||||
returns = "(object)",
|
||||
returns = "(jointFriction)",
|
||||
},
|
||||
createGearJoint = {
|
||||
type = "method",
|
||||
description = "Creates a gear joint that can only connect revolute and/or prismatic joints.\nLike the pulley ratio, you can specify a gear ratio. \nHowever, in this case the gear ratio can be negative. \nAlso keep in mind that when one joint is a revolute joint (angular) and the other joint is prismatic (translation), \nthen the gear ratio will have units of length or one over length.\nCaution: Deleting one of the connected joints automatically deletes this joint.\nCaution: The \"nodeB\" of both the connected joints must not be the same, and must be non-static.\nTwo different input types are permitted:\n| ``physics:createGearJoint(jointA, jointB, collideConnected)``\n| ``physics:createGearJoint(values)``",
|
||||
valuetype = "jointGear",
|
||||
args = "(jointA: object, jointB: object [, ratio: number] [, collideConnected: boolean], values: table)",
|
||||
returns = "(object)",
|
||||
returns = "(jointGear)",
|
||||
},
|
||||
createPrismaticJoint = {
|
||||
type = "method",
|
||||
description = "Creates a prismatic (piston) joint. Two different input types are permitted:\n| ``physics:createPrismaticJoint(nodeA, nodeB, x, y, localAxisX, localAxisY, collideConnected)``\n| ``physics:createPrismaticJoint(values)``",
|
||||
valuetype = "jointPrismatic",
|
||||
args = "(nodeA: object, nodeB: object, x: number, y: number, localAxisX: number, localAxisY: number [, collideConnected: boolean], values: table)",
|
||||
returns = "(object)",
|
||||
returns = "(jointPrismatic)",
|
||||
},
|
||||
createPulleyJoint = {
|
||||
type = "method",
|
||||
description = "Creates a pulley joint that attaches two bodies with an imaginary rope whose length remains constant: if one body is pulled down, the other one will move up.\nTwo different input types are permitted:\n| ``physics:createPulleyJoint(nodeA, nodeB, x1, y1, x2, y2, collideConnected)``\n| ``physics:createPulleyJoint(values)``",
|
||||
valuetype = "jointPulley",
|
||||
args = "(nodeA: object, nodeB: object, groundAnchorAX: number, groundAnchorAY: number, groundAnchorBX: number, groundAnchorBY: number [, anchorAX: number] [, anchorAY: number] [, anchorBX: number] [, anchorBY: number] [, ratio: number] [, collideConnected: boolean], values: table)",
|
||||
returns = "(object)",
|
||||
returns = "(jointPulley)",
|
||||
},
|
||||
createRevoluteJoint = {
|
||||
type = "method",
|
||||
description = "Creates a revolute (pivot) joint that constrains the two attached bodies to rotate about a point.\nTwo different input types are permitted:\n| ``physics:createRevoluteJoint(nodeA, nodeB, x, y, collideConnected)``\n| ``physics:createRevoluteJoint(values)``",
|
||||
valuetype = "jointRevolute",
|
||||
args = "(nodeA: object, nodeB: object, x: number, y: number [, collideConnected: boolean], values: table)",
|
||||
returns = "(object)",
|
||||
returns = "(jointRevolute)",
|
||||
},
|
||||
createRopeJoint = {
|
||||
type = "method",
|
||||
description = "Creates a rope joint that restricts the maximum distance between two points. This can be useful to prevent chains of bodies from stretching, even under high load.\nTwo different input types are permitted:\n| ``physics:createRopeJoint(nodeA, nodeB, x1, y1, x2, y2, collideConnected)``\n| ``physics:createRopeJoint(values)``",
|
||||
valuetype = "jointRope",
|
||||
args = "(nodeA: object, nodeB: object [, anchorAX: number] [, anchorAY: number] [, anchorBX: number] [, anchorBY: number], values: table)",
|
||||
returns = "(object)",
|
||||
returns = "(jointRope)",
|
||||
},
|
||||
createTouchJoint = {
|
||||
type = "method",
|
||||
description = "Creates a \"touch\" (mouse) joint that attaches a body to the world through a spring.\nTwo different input types are permitted:\n| ``physics:createTouchJoint(nodeA, dampingRatio, frequency, maxForce)``\n| ``physics:createTouchJoint(values)``",
|
||||
valuetype = "jointTouch",
|
||||
args = "(nodeA: object [, dampingRatio: number] [, frequency: number] [, maxForce: number], values: table)",
|
||||
returns = "(object)",
|
||||
returns = "(jointTouch)",
|
||||
},
|
||||
createWeldJoint = {
|
||||
type = "method",
|
||||
description = "Creates a weld joint that literaly welds the two attached body in a point.\nTwo different input types are permitted:\n| ``physics:createWeldJoint(nodeA, nodeB, x, y, collideConnected)``\n| ``physics:createWeldJoint(values)``",
|
||||
valuetype = "jointWeld",
|
||||
args = "(nodeA: object, nodeB: object [, x: number] [, y: number] [, collideConnected: boolean], values: table)",
|
||||
returns = "(object)",
|
||||
returns = "(jointWeld)",
|
||||
},
|
||||
createWheelJoint = {
|
||||
type = "method",
|
||||
description = "Creates a wheel joint that combines a piston and a pivot joint. Two different input types are permitted:\n| ``physics:createWheelJoint(nodeA, nodeB, localAxisX, localAxisY, ax, ay, bx, by, collideConnected)``\n| ``physics:createWheelJoint(values)``",
|
||||
valuetype = "jointWheel",
|
||||
args = "(nodeA: object, nodeB: object, localAxisX: number, localAxisY: number [, ax: number] [, ay: number] [, bx: number] [, by: number] [, collideConnected: boolean], values: table)",
|
||||
returns = "(object)",
|
||||
returns = "(jointWheel)",
|
||||
},
|
||||
debugDraw = {
|
||||
type = "value",
|
||||
@@ -1636,7 +1656,7 @@ return {
|
||||
},
|
||||
},
|
||||
},
|
||||
jointdistance = {
|
||||
jointDistance = {
|
||||
type = "class",
|
||||
childs = {
|
||||
dampingRatio = {
|
||||
@@ -1654,7 +1674,7 @@ return {
|
||||
},
|
||||
inherits = "joint",
|
||||
},
|
||||
jointfriction = {
|
||||
jointFriction = {
|
||||
type = "class",
|
||||
childs = {
|
||||
maxForce = {
|
||||
@@ -1668,7 +1688,7 @@ return {
|
||||
},
|
||||
inherits = "joint",
|
||||
},
|
||||
jointgear = {
|
||||
jointGear = {
|
||||
type = "class",
|
||||
childs = {
|
||||
joint1 = {
|
||||
@@ -1686,7 +1706,7 @@ return {
|
||||
},
|
||||
inherits = "joint",
|
||||
},
|
||||
jointprismatic = {
|
||||
jointPrismatic = {
|
||||
type = "class",
|
||||
childs = {
|
||||
jointSpeed = {
|
||||
@@ -1728,7 +1748,7 @@ return {
|
||||
},
|
||||
inherits = "joint",
|
||||
},
|
||||
jointpulley = {
|
||||
jointPulley = {
|
||||
type = "class",
|
||||
childs = {
|
||||
lengthA = {
|
||||
@@ -1746,7 +1766,7 @@ return {
|
||||
},
|
||||
inherits = "joint",
|
||||
},
|
||||
jointrevolute = {
|
||||
jointRevolute = {
|
||||
type = "class",
|
||||
childs = {
|
||||
jointAngle = {
|
||||
@@ -1788,7 +1808,7 @@ return {
|
||||
},
|
||||
inherits = "joint",
|
||||
},
|
||||
jointrope = {
|
||||
jointRope = {
|
||||
type = "class",
|
||||
childs = {
|
||||
maxLength = {
|
||||
@@ -1798,7 +1818,7 @@ return {
|
||||
},
|
||||
inherits = "joint",
|
||||
},
|
||||
jointtouch = {
|
||||
jointTouch = {
|
||||
type = "class",
|
||||
childs = {
|
||||
dampingRatio = {
|
||||
@@ -1822,7 +1842,7 @@ return {
|
||||
},
|
||||
inherits = "joint",
|
||||
},
|
||||
jointweld = {
|
||||
jointWeld = {
|
||||
type = "class",
|
||||
childs = {
|
||||
dampingRatio = {
|
||||
@@ -1836,7 +1856,7 @@ return {
|
||||
},
|
||||
inherits = "joint",
|
||||
},
|
||||
jointwheel = {
|
||||
jointWheel = {
|
||||
type = "class",
|
||||
childs = {
|
||||
jointSpeed = {
|
||||
@@ -1874,6 +1894,36 @@ return {
|
||||
},
|
||||
inherits = "joint",
|
||||
},
|
||||
scene = {
|
||||
type = "class",
|
||||
childs = {
|
||||
releaseAnimation = {
|
||||
type = "method",
|
||||
description = "Clears the scene's references to the specified Animation object. If the app maintains any additional\nreferences to this objects then it will persist, otherwise it will become ready for garbage \ncollection.",
|
||||
args = "(animation: object)",
|
||||
returns = "()",
|
||||
},
|
||||
releaseAtlas = {
|
||||
type = "method",
|
||||
description = "Clears the scene's references to the specified Atlas object. If the app maintains any additional\nreferences to this objects then it will persist, otherwise it will become ready for garbage \ncollection.",
|
||||
args = "(atlas: object)",
|
||||
returns = "()",
|
||||
},
|
||||
releaseFont = {
|
||||
type = "method",
|
||||
description = "Clears the scene's references to the specified Font object. If the app maintains any additional\nreferences to this objects then it will persist, otherwise it will become ready for garbage \ncollection.",
|
||||
args = "(font: object)",
|
||||
returns = "()",
|
||||
},
|
||||
releaseResources = {
|
||||
type = "method",
|
||||
description = "Clears the scene's references to all owned Atlas, Animation and Font objects. If the app \nmaintains additional references to any specific objects of these types then they will persist, \notherwise the objects will become ready for garbage collection.",
|
||||
args = "()",
|
||||
returns = "()",
|
||||
},
|
||||
},
|
||||
inherits = "node",
|
||||
},
|
||||
sprite = {
|
||||
type = "class",
|
||||
childs = {
|
||||
@@ -1948,7 +1998,7 @@ return {
|
||||
description = "Add a global timed event.",
|
||||
valuetype = "timer",
|
||||
args = "(funcortable: function or table, period: number, iterations: number, delay: number)",
|
||||
returns = "(object)",
|
||||
returns = "(timer)",
|
||||
},
|
||||
debugTime = {
|
||||
type = "value",
|
||||
@@ -2355,7 +2405,7 @@ return {
|
||||
},
|
||||
to = {
|
||||
type = "method",
|
||||
description = "Tween a series of node properties over time.\nThe final property values are specified in the params table. To customize the\ntween, you can optionally specify the following non-animating properties in params:\n* params.time (number) - The duration of the tween, in seconds. Default value is 0.5. The duration refers\nto the length of a 'cycle'; see the 'mode' parameter below.\n* params.delay (number) - Any delay in seconds before the tween begins. Default value is 0. If this value is\ngreater than 0, then this period must elapse before any properties start tweening. The 'onStart' callback\nis called only when this period has elapsed.\n* params.delta (boolean) - Whether or not to interpret the specified values as absolute, or relative to the\ncurrent values. The default is false, meaning absolute values. If true, the 'current' values are those\nat the point at which any 'delay' period has elapsed.\n* params.mode (string) - Can be 'clamp', 'repeat' or 'mirror'. The default value is 'clamp'.\n* \"clamp\" - The interpolation value moves from 0 (after any 'delay') to 1 \n(after a further 'time'), whereby any 'onComplete' callback is fired. The function \n'isComplete()' will return true only after this point. The interpolation stays at 1 after \nthis point.\n* \"repeat\" - The interpolation value moves from 0 (after any 'delay') to 1 (after a further \n'time'), whereby any 'onComplete' callback is fired. The interpolation value then starts \nagain at 0, and moves to 1 after a further 'time'; i.e. it continually cycles with a \nperiod of 'time'. The 'onComplete' callback fires after each period. The function \n'isComplete()' NEVER returns true.\n* \"mirror\" - Like \"repeat\", except that the interpolation value alternately ramps up to 1 \nand back down to 0 for each pair of cycles (as opposed to ramping to 1 and then \nimmediately jumping back to 0). For each odd-numbered cycle, the interpolation value \nis (1-r), where r is the value that would be generated from the corresponding \"repeat\" \nmode. The 'onComplete' callback fires after each period. The function 'isComplete()' \nNEVER returns true.\n* params.easing (function) - The tween easing function. Default value is ease.linear. Easing functions\nallow the properties to be animated in a non-linear fashion, for example to slow down at the start or\nend of the animation period. A full list of easing functions is provided above.\n* params.easingValue (number) - The tween easing value. Depending on the easing function being used,\nthis value can affect the 'strength' of the function, for example the degree to which the animation\nspeeds up or slows down at the start or end of the period. Default value depends on the easing function.\n* params.onStart (function or table) - A function or table listener called before the tween \nbegins. Table listeners must have an 'onStart' method. When invoked, the listener function is\npassed the tween's owning node as an input. The 'onStart' listener is called only once any 'delay'\nperiod has elapsed.\n* params.onComplete (function or table) - A function or table listener called after the \ntween completes. Table listeners must have an 'onComplete' method. When invoked, the listener function is\npassed the tween's owning node as an input. The 'onComplete' listener is called at the end of each\ntween 'cycle': if mode is 'clamp', there is only a single cycle, otherwise cycles repeat indefinitely with\nthe period specified by 'time'.\nExample::\nlocal mySprite = director:createSprite(0, 0, \"textures/beachball.png\")\n-- Animate x and alpha properties, over 1 second, after a delay of 0.5 seconds, with the \"powIn\" easing function\ntween:to(mySprite, { time=1, transition=ease.powIn, delta=0.5, x=100, alpha=0 } )\nDifferent 'modes' can be combined with different easing functions to create standard waves. \nFor example:\n* mode=\"repeat\", easing=ease.linear -- sawtooth wave\n* mode=\"mirror\", easing=ease.linear -- triangle wave\n* mode=\"mirror\", easing=ease.zero -- square wave\nAny target value specified in the tween parameters must exist on the target object. Values can \nbe of type 'number' or 'table'. If of type 'table', the table must include values of type \n'number' and exist on the target object.\nExamples:\n* x=10 (type number)\n* xScale=2 (type number)\n* color={r=0} (type table, containing type number)\n* color={r=0, g=255} (type table, containing type number)\n* uvRect={x=1} (type table, containing type number)",
|
||||
description = "Tween a series of node properties over time.\nThe final property values are specified in the params table. To customize the\ntween, you can optionally specify the following non-animating properties in params:\n* params.time (number) - The duration of the tween, in seconds. Default value is 0.5. The duration refers\nto the length of a 'cycle'; see the 'mode' parameter below.\n* params.delay (number) - Any delay in seconds before the tween begins. Default value is 0. If this value is\ngreater than 0, then this period must elapse before any properties start tweening. The 'onStart' callback\nis called only when this period has elapsed.\n* params.delta (boolean) - Whether or not to interpret the specified values as absolute, or relative to the\ncurrent values. The default is false, meaning absolute values. If true, the 'current' values are those\nat the point at which any 'delay' period has elapsed.\n* params.mode (string) - Can be 'clamp', 'repeat' or 'mirror'. The default value is 'clamp'.\n* \"clamp\" - The interpolation value moves from 0 (after any 'delay') to 1 \n(after a further 'time'), whereby any 'onComplete' callback is fired. The function \n'isComplete()' will return true only after this point. The interpolation stays at 1 after \nthis point.\n* \"repeat\" - The interpolation value moves from 0 (after any 'delay') to 1 (after a further \n'time'), whereby any 'onComplete' callback is fired. The interpolation value then starts \nagain at 0, and moves to 1 after a further 'time'; i.e. it continually cycles with a \nperiod of 'time'. The 'onComplete' callback fires after each period. The function \n'isComplete()' NEVER returns true.\n* \"mirror\" - Like \"repeat\", except that the interpolation value alternately ramps up to 1 \nand back down to 0 for each pair of cycles (as opposed to ramping to 1 and then \nimmediately jumping back to 0). For each odd-numbered cycle, the interpolation value \nis (1-r), where r is the value that would be generated from the corresponding \"repeat\" \nmode. The 'onComplete' callback fires after each period. The function 'isComplete()' \nNEVER returns true.\n* params.easing (function) - The tween easing function. Default value is ease.linear. Easing functions\nallow the properties to be animated in a non-linear fashion, for example to slow down at the start or\nend of the animation period. A full list of easing functions is provided above.\n* params.easingValue (number) - The tween easing value. Depending on the easing function being used,\nthis value can affect the 'strength' of the function, for example the degree to which the animation\nspeeds up or slows down at the start or end of the period. Default value depends on the easing function.\n* params.onStart (function or table) - A function or table listener called before the tween \nbegins. Table listeners must have an 'onStart' method. When invoked, the listener function is\npassed the tween's owning node as an input. The 'onStart' listener is called only once any 'delay'\nperiod has elapsed.\n* params.onComplete (function or table) - A function or table listener called after the \ntween completes. Table listeners must have an 'onComplete' method. When invoked, the listener function is\npassed the tween's owning node as an input. The 'onComplete' listener is called at the end of each\ntween 'cycle': if mode is 'clamp', there is only a single cycle, otherwise cycles repeat indefinitely with\nthe period specified by 'time'.\nExample::\nlocal mySprite = director:createSprite(0, 0, \"textures/beachball.png\")\n-- Animate x and alpha properties, over 1 second, after a delay of 0.5 seconds, with the \"powIn\" easing function\ntween:to(mySprite, { time=1, easing=ease.powIn, delay=0.5, x=100, alpha=0 } )\nDifferent 'modes' can be combined with different easing functions to create standard waves. \nFor example:\n* mode=\"repeat\", easing=ease.linear -- sawtooth wave\n* mode=\"mirror\", easing=ease.linear -- triangle wave\n* mode=\"mirror\", easing=ease.zero -- square wave\nAny target value specified in the tween parameters must exist on the target object. Values can \nbe of type 'number' or 'table'. If of type 'table', the table must include values of type \n'number' and exist on the target object.\nExamples:\n* x=10 (type number)\n* xScale=2 (type number)\n* color={r=0} (type table, containing type number)\n* color={r=0, g=255} (type table, containing type number)\n* uvRect={x=1} (type table, containing type number)",
|
||||
args = "(target: object, params: table)",
|
||||
returns = "(object)",
|
||||
},
|
||||
|
||||
Binary file not shown.
Binary file not shown.
BIN
bin/liblua.dylib
Normal file → Executable file
BIN
bin/liblua.dylib
Normal file → Executable file
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -6,6 +6,8 @@ sudo apt-get install git-core
|
||||
sudo apt-get install g++
|
||||
sudo apt-get install subversion
|
||||
sudo apt-get install libgtk2.0-dev
|
||||
sudo apt-get install cmake
|
||||
exit
|
||||
|
||||
# install cmake as wxwidgets needs 2.8.4+ but "sudo apt-get install cmake"
|
||||
# only installs 2.8.0 on some systems (like Ubuntu 10.4)
|
||||
|
||||
@@ -24,14 +24,6 @@ BUILD_FLAGS="-O2 -shared -s -I $INSTALL_DIR/include -L $INSTALL_DIR/lib $FPIC"
|
||||
WXWIDGETS_BASENAME="wxWidgets"
|
||||
WXWIDGETS_URL="http://svn.wxwidgets.org/svn/wx/wxWidgets/trunk"
|
||||
|
||||
LIBPNG_BASENAME="libpng-1.6.2"
|
||||
LIBPNG_FILENAME="$LIBPNG_BASENAME.tar.gz"
|
||||
LIBPNG_URL="http://sourceforge.net/projects/libpng/files/libpng16/1.6.2/libpng-1.6.2.tar.gz/download"
|
||||
|
||||
ZLIB_BASENAME="zlib-1.2.8"
|
||||
ZLIB_FILENAME="$ZLIB_BASENAME.tar.gz"
|
||||
ZLIB_URL="https://github.com/madler/zlib/archive/v1.2.8.tar.gz"
|
||||
|
||||
WXLUA_BASENAME="wxlua"
|
||||
WXLUA_URL="https://svn.code.sf.net/p/wxlua/svn/trunk"
|
||||
|
||||
@@ -127,35 +119,18 @@ fi
|
||||
|
||||
# build wxWidgets
|
||||
if [ $BUILD_WXWIDGETS ]; then
|
||||
# first build get/configure libpng as v1.6 is needed
|
||||
wget -c "$LIBPNG_URL" -O "$LIBPNG_FILENAME" || { echo "Error: failed to download libpng"; exit 1; }
|
||||
tar -xzf "$LIBPNG_FILENAME"
|
||||
(cd "$LIBPNG_BASENAME"; ./configure --with-libpng-prefix=wxpng_; make $MAKEFLAGS)
|
||||
|
||||
wget -c "$ZLIB_URL" -O "$ZLIB_FILENAME" || { echo "Error: failed to download zlib"; exit 1; }
|
||||
tar -xzf "$ZLIB_FILENAME"
|
||||
(cd "$ZLIB_BASENAME"; ./configure; make $MAKEFLAGS)
|
||||
|
||||
svn co "$WXWIDGETS_URL" "$WXWIDGETS_BASENAME" || { echo "Error: failed to checkout wxWidgets"; exit 1; }
|
||||
# replace src/png with the libpng folder
|
||||
rm -rf "$WXWIDGETS_BASENAME/src/png"
|
||||
mv "$LIBPNG_BASENAME" "$WXWIDGETS_BASENAME/src/png"
|
||||
|
||||
# replace src/zlib with the zlib folder
|
||||
rm -rf "$WXWIDGETS_BASENAME/src/zlib"
|
||||
mv "$ZLIB_BASENAME" "$WXWIDGETS_BASENAME/src/zlib"
|
||||
|
||||
cd "$WXWIDGETS_BASENAME"
|
||||
./configure --prefix="$INSTALL_DIR" --disable-debug --disable-shared --enable-unicode \
|
||||
--enable-compat28 \
|
||||
--with-libjpeg=builtin --with-libpng=builtin --with-libtiff=no --with-expat=no \
|
||||
--with-zlib=builtin --disable-richtext --with-gtk=2 \
|
||||
CFLAGS="-Os -fPIC" CXXFLAGS="-Os -fPIC"
|
||||
# update gzio to gzlib as this has changed between zlib 1.2.3 to 1.2.8
|
||||
sed -i 's/gzio.c/gzlib.c/' Makefile
|
||||
make $MAKEFLAGS || { echo "Error: failed to build wxWidgets"; exit 1; }
|
||||
make install
|
||||
cd ..
|
||||
rm -rf "$WXWIDGETS_BASENAME" "$LIBPNG_FILENAME"
|
||||
rm -rf "$WXWIDGETS_BASENAME"
|
||||
fi
|
||||
|
||||
# build Lua
|
||||
|
||||
@@ -136,10 +136,8 @@ if [ $BUILD_WXWIDGETS ]; then
|
||||
if [ -d $MACOSX_SDK_PATH ]; then
|
||||
MINSDK="--with-macosx-sdk=$MACOSX_SDK_PATH"
|
||||
fi
|
||||
# fix auto-complete crash by reverting an earlier revision
|
||||
# http://trac.wxwidgets.org/ticket/15008#comment:12
|
||||
svn merge -r 74098:74097 .
|
||||
./configure --prefix="$INSTALL_DIR" $WXWIDGETSDEBUG --disable-shared --enable-unicode \
|
||||
--enable-compat28 \
|
||||
--with-libjpeg=builtin --with-libpng=builtin --with-libtiff=no --with-expat=no \
|
||||
--with-zlib=builtin --disable-richtext \
|
||||
--enable-macosx_arch=$MACOSX_ARCH --with-macosx-version-min=$MACOSX_VERSION $MINSDK \
|
||||
|
||||
@@ -152,6 +152,7 @@ if [ $BUILD_WXWIDGETS ]; then
|
||||
svn revert -R "$WXWIDGETS_BASENAME"
|
||||
cd "$WXWIDGETS_BASENAME"
|
||||
./configure --prefix="$INSTALL_DIR" $WXWIDGETSDEBUG --disable-shared --enable-unicode \
|
||||
--enable-compat28 \
|
||||
--with-libjpeg=builtin --with-libpng=builtin --with-libtiff=no --with-expat=no \
|
||||
--with-zlib=builtin --disable-richtext \
|
||||
CFLAGS="-Os -fno-keep-inline-dllexport" CXXFLAGS="-Os -fno-keep-inline-dllexport"
|
||||
@@ -201,8 +202,8 @@ if [ $BUILD_WXLUA ]; then
|
||||
# (temporary) fix for compilation issue in wxlua in Windows using mingw (r184)
|
||||
sed -i 's/defined(__MINGW32__) || defined(__GNUWIN32__)/0/' modules/wxbind/src/wxcore_bind.cpp
|
||||
|
||||
[ -f "$INSTALL_DIR/lib/libwxscintilla-2.9.a" ] && cp "$INSTALL_DIR/lib/libwxscintilla-2.9.a" "$INSTALL_DIR/lib/libwx_mswu_scintilla-2.9.a"
|
||||
[ -f "$INSTALL_DIR/lib/libwxscintilla-3.0.a" ] && cp "$INSTALL_DIR/lib/libwxscintilla-3.0.a" "$INSTALL_DIR/lib/libwx_mswu_scintilla-3.0.a"
|
||||
[ -f "$INSTALL_DIR/lib/libwxscintilla-3.1.a" ] && cp "$INSTALL_DIR/lib/libwxscintilla-3.1.a" "$INSTALL_DIR/lib/libwx_mswu_scintilla-3.1.a"
|
||||
|
||||
echo "set_target_properties(wxLuaModule PROPERTIES LINK_FLAGS -static)" >> modules/luamodule/CMakeLists.txt
|
||||
cmake -G "MSYS Makefiles" -DCMAKE_INSTALL_PREFIX="$INSTALL_DIR" -DCMAKE_BUILD_TYPE=$WXLUABUILD -DBUILD_SHARED_LIBS=FALSE \
|
||||
|
||||
@@ -9,6 +9,10 @@
|
||||
-- You can also update an existing file with new messages by running:
|
||||
-- > bin\lua.exe build/messages.lua cfg/i18n/ru.lua
|
||||
|
||||
-- store `print` function as it's modified by wxlua and LuaJIT doesn't like
|
||||
-- what wxlua has done in that function.
|
||||
local print = print
|
||||
|
||||
local iswindows = os.getenv('WINDIR') or (os.getenv('OS') or ''):match('[Ww]indows')
|
||||
if iswindows or not pcall(require, "wx") then
|
||||
package.cpath = (iswindows and 'bin/?.dll;' or 'bin/lib?.dylib;') .. package.cpath
|
||||
|
||||
117
cfg/i18n/cn.lua
117
cfg/i18n/cn.lua
@@ -1,13 +1,17 @@
|
||||
return {
|
||||
["%d instance"] = "%d 个体", -- src\editor\findreplace.lua
|
||||
["%s event failed: %s"] = nil, -- src\editor\package.lua
|
||||
["&About"] = "关于(&A)", -- src\editor\menu_help.lua
|
||||
["&Add Watch"] = "添加监视(&A)", -- src\editor\debugger.lua
|
||||
["&Break"] = "中断", -- src\editor\menu_project.lua
|
||||
["&Close Page"] = "关闭页面", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["&Close Page"] = "关闭页面", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["&Community"] = nil, -- src\editor\menu_help.lua
|
||||
["&Compile"] = "编译", -- src\editor\menu_project.lua
|
||||
["&Copy"] = "复制", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["&Copy"] = "复制", -- src\editor\menu_edit.lua, src\editor\editor.lua
|
||||
["&Default Layout"] = "布局", -- src\editor\menu_view.lua
|
||||
["&Delete Watch"] = "删除监视", -- src\editor\debugger.lua
|
||||
["&Delete"] = nil, -- src\editor\filetree.lua
|
||||
["&Documentation"] = nil, -- src\editor\menu_help.lua
|
||||
["&Down"] = "往下", -- src\editor\findreplace.lua
|
||||
["&Edit Watch"] = "编辑监视", -- src\editor\debugger.lua
|
||||
["&Edit"] = "编辑", -- src\editor\menu_edit.lua
|
||||
@@ -16,47 +20,56 @@ return {
|
||||
["&Find Next"] = "查找下一个", -- src\editor\findreplace.lua
|
||||
["&Find"] = "查找", -- src\editor\menu_search.lua
|
||||
["&Fold/Unfold All"] = "全 折叠/展开", -- src\editor\menu_edit.lua
|
||||
["&Frequently Asked Questions"] = nil, -- src\editor\menu_help.lua
|
||||
["&Getting Started Guide"] = nil, -- src\editor\menu_help.lua
|
||||
["&Goto Line"] = "到...行", -- src\editor\menu_search.lua
|
||||
["&Help"] = "帮助", -- src\editor\menu_help.lua
|
||||
["&New Directory"] = nil, -- src\editor\filetree.lua
|
||||
["&New"] = "新建", -- src\editor\menu_file.lua
|
||||
["&Open..."] = "打开...", -- src\editor\menu_file.lua
|
||||
["&Output/Console Window"] = "输出/主控台视窗", -- src\editor\menu_view.lua
|
||||
["&Paste"] = "粘贴", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["&Project"] = "项目", -- src\editor\menu_project.lua, src\editor\inspect.lua
|
||||
["&Redo"] = "重做", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["&Paste"] = "粘贴", -- src\editor\menu_edit.lua, src\editor\editor.lua
|
||||
["&Project Page"] = nil, -- src\editor\menu_help.lua
|
||||
["&Project"] = "项目", -- src\editor\inspect.lua, src\editor\menu_project.lua
|
||||
["&Redo"] = "重做", -- src\editor\menu_edit.lua, src\editor\editor.lua
|
||||
["&Rename"] = nil, -- src\editor\filetree.lua
|
||||
["&Replace All"] = "全替换", -- src\editor\findreplace.lua
|
||||
["&Replace"] = "替换", -- src\editor\findreplace.lua, src\editor\menu_search.lua
|
||||
["&Run"] = "执行", -- src\editor\menu_project.lua
|
||||
["&Save"] = "保存", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["&Save"] = "保存", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["&Search"] = "搜索", -- src\editor\menu_search.lua
|
||||
["&Sort"] = "分类", -- src\editor\menu_search.lua
|
||||
["&Sort"] = "分类", -- src\editor\menu_edit.lua
|
||||
["&Stack Window"] = "叠视窗/堆栈视窗", -- src\editor\menu_view.lua
|
||||
["&Start Debugger Server"] = "开启除错器伺服机", -- src\editor\menu_project.lua
|
||||
["&Subdirectories"] = "子文件夹", -- src\editor\findreplace.lua
|
||||
["&Undo"] = "撤消", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["&Tutorials"] = nil, -- src\editor\menu_help.lua
|
||||
["&Undo"] = "撤消", -- src\editor\menu_edit.lua, src\editor\editor.lua
|
||||
["&Up"] = "往上", -- src\editor\findreplace.lua
|
||||
["&View"] = "视图", -- src\editor\menu_view.lua
|
||||
["&Watch Window"] = "监视视窗", -- src\editor\menu_view.lua
|
||||
[".&bak on Replace"] = nil, -- src\editor\findreplace.lua
|
||||
["About %s"] = "关于 %s", -- src\editor\menu_help.lua
|
||||
["Add To Scratchpad"] = nil, -- src\editor\editor.lua
|
||||
["Add Watch Expression"] = "添加监视表达式", -- src\editor\editor.lua
|
||||
["Add to Scratchpad"] = "添加至暂存器", -- src\editor\editor.lua
|
||||
["All files"] = "全部文件", -- src\editor\commands.lua
|
||||
["Allow external process to start debugging"] = "允许外部进程开启除错", -- src\editor\menu_project.lua
|
||||
["Analyze the source code"] = "分析源代码", -- src\editor\inspect.lua
|
||||
["Analyze"] = "分析", -- src\editor\inspect.lua
|
||||
["Auto Complete Identifiers"] = "自动补全标识符", -- src\editor\menu_edit.lua
|
||||
["Auto complete while typing"] = "当输入时自动补全", -- src\editor\menu_edit.lua
|
||||
["Break execution at the next executed line of code"] = "执行下一语句之后中断执行", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Break execution at the next executed line of code"] = "执行下一语句之后中断执行", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["C&lear Output Window"] = "清除输出视窗", -- src\editor\menu_project.lua
|
||||
["C&omment/Uncomment"] = "注释/消除注释", -- src\editor\menu_edit.lua
|
||||
["Can't debug the script in the active editor window."] = "不能在现行编辑视窗对脚本进行除错", -- src\editor\debugger.lua
|
||||
["Can't find file '%s' in the current project to activate for debugging. Update the project or open the file in the editor before debugging."] = "在当前项目中寻找不到文件 '%s' 以进行激活然后除错, 更新项目或是在编辑器里开启文件后再除错", -- src\editor\debugger.lua
|
||||
["Can't process auto-recovery record; invalid format: %s."] = "不能处理自动恢复存档: %s", -- src\editor\commands.lua
|
||||
["Can't run the entry point script ('%s')."] = "不能执行entry point脚本 ('%s')", -- src\editor\debugger.lua
|
||||
["Can't start debugger server at %s:%d: %s."] = nil, -- src\editor\debugger.lua
|
||||
["Can't start debugging session due to internal error '%s'."] = "除错动作失败 '%s'.", -- src\editor\debugger.lua
|
||||
["Can't start debugging without an opened file or with the current file not being saved ('%s')."] = "不能启动除错,没有文档被开启或当前更改过的文档还没保存('%s')", -- src\editor\debugger.lua
|
||||
["Cancel"] = "取消", -- src\editor\findreplace.lua
|
||||
["Choose ..."] = "请选 ...", -- src\editor\menu_project.lua
|
||||
["Cancelled by the user."] = nil, -- src\editor\findreplace.lua
|
||||
["Choose..."] = "请选...", -- src\editor\menu_project.lua
|
||||
["Choose a project directory"] = "选择项目文件夹", -- src\editor\findreplace.lua, src\editor\menu_project.lua
|
||||
["Clear &Dynamic Words"] = "清除动态词汇", -- src\editor\menu_edit.lua
|
||||
["Clear the output window before compiling or debugging"] = "编译或除错前清除输出视窗", -- src\editor\menu_project.lua
|
||||
@@ -65,33 +78,40 @@ return {
|
||||
["Close the current editor window"] = "关闭当前编译视窗", -- src\editor\menu_file.lua
|
||||
["Co&ntinue"] = "继续", -- src\editor\menu_project.lua
|
||||
["Col: %d"] = "列: %d", -- src\editor\editor.lua
|
||||
["Command Line Parameters..."] = nil, -- src\editor\menu_project.lua
|
||||
["Command line parameters"] = nil, -- src\editor\menu_project.lua
|
||||
["Comment or uncomment current or selected lines"] = "注释/消除注释 当前或被选的语句", -- src\editor\menu_edit.lua
|
||||
["Compilation error"] = "编译错误", -- src\editor\debugger.lua, src\editor\commands.lua
|
||||
["Compilation error"] = "编译错误", -- src\editor\commands.lua, src\editor\debugger.lua
|
||||
["Compilation successful; %.0f%% success rate (%d/%d)."] = "编译成功; 成功率: %.0f%% (%d/%d).", -- src\editor\commands.lua
|
||||
["Compile the current file"] = "编译当前的文档", -- src\editor\menu_project.lua
|
||||
["Complete &Identifier"] = "补全标识符", -- src\editor\menu_edit.lua
|
||||
["Complete the current identifier"] = "补全当前标识符", -- src\editor\menu_edit.lua
|
||||
["Consider removing backslash from escape sequence '%s'."] = nil, -- src\editor\commands.lua
|
||||
["Copy Full Path"] = nil, -- src\editor\filetree.lua
|
||||
["Copy selected text to clipboard"] = "复制被选的text到clipboard", -- src\editor\menu_edit.lua
|
||||
["Couldn't activate file '%s' for debugging; continuing without it."] = "不能激活 '%s' 以除错; 省略后继续进行", -- src\editor\debugger.lua
|
||||
["Create an empty document"] = "新建空文档", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["Cu&t"] = "剪切", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["Create an empty document"] = "新建空文档", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["Cu&t"] = "剪切", -- src\editor\menu_edit.lua, src\editor\editor.lua
|
||||
["Cut selected text to clipboard"] = "剪切被选的text到clipboard", -- src\editor\menu_edit.lua
|
||||
["Debugger server started at %s:%d."] = "除错伺服器起始于 %s:%d.", -- src\editor\debugger.lua
|
||||
["Debugging session completed (%s)."] = "除错会话完成 (%s)", -- src\editor\debugger.lua
|
||||
["Debugging session started in '%s'."] = "除错会话于 '%s' 起始", -- src\editor\debugger.lua
|
||||
["Debugging suspended at %s:%s (couldn't activate the file)."] = "除错挂起于 %s:%s (不能激活文档).", -- src\editor\debugger.lua
|
||||
["Directory"] = "文件夹", -- src\editor\findreplace.lua
|
||||
["Do you want to delete '%s'?"] = nil, -- src\editor\filetree.lua
|
||||
["Do you want to overwrite it?"] = nil, -- src\editor\commands.lua
|
||||
["Do you want to reload it?"] = "需要重新导入吗?", -- src\editor\editor.lua
|
||||
["Do you want to save the changes to '%s'?"] = "需要把更改保存于 '%s'?", -- src\editor\commands.lua
|
||||
["E&xit"] = "离开", -- src\editor\menu_file.lua
|
||||
["Enter Lua code and press Enter to run it."] = "输入Lua代码然后按 <Enter> 以执行", -- src\editor\shellbox.lua
|
||||
["Enter command line parameters (use Cancel to clear)"] = nil, -- src\editor\menu_project.lua
|
||||
["Enter line number"] = "输入行号码", -- src\editor\menu_search.lua
|
||||
["Error while loading API file: %s"] = "导入API档时出错误: %s", -- src\editor\autocomplete.lua
|
||||
["Error while loading configuration file: %s"] = "导入configuration档时出错误: %s", -- src\editor\style.lua
|
||||
["Error while processing API file: %s"] = "处理API档时出错误: %s", -- src\editor\autocomplete.lua
|
||||
["Error while processing configuration file: %s"] = "处理configuration档时出错误: %s", -- src\editor\style.lua
|
||||
["Error"] = "错误", -- src\editor\commands.lua
|
||||
["Evaluate in Console"] = "在主控台中估值", -- src\editor\editor.lua
|
||||
["Evaluate In Console"] = nil, -- src\editor\editor.lua
|
||||
["Execute the current project/file and keep updating the code to see immediate results"] = "执行当前项目/文档和更新代码以便得到执行结果", -- src\editor\menu_project.lua
|
||||
["Execute the current project/file"] = "执行当前项目/文档", -- src\editor\menu_project.lua
|
||||
["Execution error"] = "执行出错误", -- src\editor\debugger.lua
|
||||
@@ -99,19 +119,19 @@ return {
|
||||
["Expr"] = "表达式", -- src\editor\debugger.lua
|
||||
["Expression"] = "表达式", -- src\editor\debugger.lua
|
||||
["File '%s' has been modified on disk."] = "磁碟上的文档 '%s' 已被更改", -- src\editor\editor.lua
|
||||
["File '%s' has more recent timestamp than restored '%s'; please review before saving."] =
|
||||
"文档 '%s' 的时间戳比 '%s' 更新近; 请检验后再保存", -- src\editor\commands.lua
|
||||
["File '%s' no longer exists."] = "文档 '%s' 已不存在", -- src\editor\editor.lua, src\editor\menu_file.lua
|
||||
["File '%s' has more recent timestamp than restored '%s'; please review before saving."] = "文档 '%s' 的时间戳比 '%s' 更新近; 请检验后再保存", -- src\editor\commands.lua
|
||||
["File '%s' no longer exists."] = "文档 '%s' 已不存在", -- src\editor\menu_file.lua, src\editor\editor.lua
|
||||
["File Type"] = "文档类", -- src\editor\findreplace.lua
|
||||
["File already exists."] = nil, -- src\editor\commands.lua
|
||||
["File history"] = "文档历史", -- src\editor\menu_file.lua
|
||||
["Find &In Files"] = "在文档中查找", -- src\editor\menu_search.lua
|
||||
["Find &Next"] = "查找下一个", -- src\editor\menu_search.lua
|
||||
["Find &Previous"] = "查找上一个", -- src\editor\menu_search.lua
|
||||
["Find In Files"] = "在文档中查找", -- src\editor\findreplace.lua
|
||||
["Find and replace text in files"] = "在文档中查找text然后更换", -- src\editor\menu_search.lua
|
||||
["Find and replace text"] = "查找text然后更换", -- src\editor\menu_search.lua, src\editor\gui.lua
|
||||
["Find and replace text"] = "查找text然后更换", -- src\editor\gui.lua, src\editor\menu_search.lua
|
||||
["Find text in files"] = "在文档中查找text", -- src\editor\menu_search.lua
|
||||
["Find text"] = "查找text", -- src\editor\menu_search.lua, src\editor\gui.lua
|
||||
["Find text"] = "查找text", -- src\editor\gui.lua, src\editor\menu_search.lua
|
||||
["Find the earlier text occurence"] = "查找之前出现的text", -- src\editor\menu_search.lua
|
||||
["Find the next text occurrence"] = "查找之後将出现的text", -- src\editor\menu_search.lua
|
||||
["Find"] = "查找", -- src\editor\findreplace.lua
|
||||
@@ -119,6 +139,7 @@ return {
|
||||
["Found auto-recovery record and restored saved session."] = "找到自动恢复存档和恢复已存对话", -- src\editor\commands.lua
|
||||
["Found"] = "找到", -- src\editor\findreplace.lua
|
||||
["Full &Screen"] = "全屏", -- src\editor\menu_view.lua
|
||||
["Go To Definition"] = nil, -- src\editor\editor.lua
|
||||
["Go to a selected line"] = "到所选的行", -- src\editor\menu_search.lua
|
||||
["Goto Line"] = "到...行", -- src\editor\menu_search.lua
|
||||
["INS"] = "INS", -- src\editor\editor.lua
|
||||
@@ -126,18 +147,20 @@ return {
|
||||
["Jump to a function definition..."] = "跳到函数定义", -- src\editor\editor.lua
|
||||
["Known Files"] = "所知的文档", -- src\editor\commands.lua
|
||||
["Ln: %d"] = "行: %d", -- src\editor\editor.lua
|
||||
["Local console"] = "本地主控台", -- src\editor\shellbox.lua, src\editor\gui.lua
|
||||
["Local console"] = "本地主控台", -- src\editor\gui.lua, src\editor\shellbox.lua
|
||||
["Lua &Interpreter"] = "Lua 解释器", -- src\editor\menu_project.lua
|
||||
["Mapped remote request for '%s' to '%s'."] = "映射远程请求 '%s' 至 '%s'", -- src\editor\debugger.lua
|
||||
["Match &case"] = "case匹配", -- src\editor\findreplace.lua
|
||||
["Match &whole word"] = "全句匹配", -- src\editor\findreplace.lua
|
||||
["Mixed end-of-line encodings detected."] = "发现混杂的EOL编码", -- src\editor\commands.lua
|
||||
["New &File"] = nil, -- src\editor\filetree.lua
|
||||
["OVR"] = "OVR", -- src\editor\editor.lua
|
||||
["Open an existing document"] = "打开现存文档", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["Open With Default Program"] = nil, -- src\editor\filetree.lua
|
||||
["Open an existing document"] = "打开现存文档", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["Open file"] = "打开文档", -- src\editor\commands.lua
|
||||
["Options"] = "选项", -- src\editor\findreplace.lua
|
||||
["Output (running)"] = "输出 (进行中)", -- src\editor\output.lua
|
||||
["Output"] = "输出", -- src\editor\output.lua, src\editor\settings.lua, src\editor\gui.lua
|
||||
["Output"] = "输出", -- src\editor\gui.lua, src\editor\output.lua, src\editor\settings.lua
|
||||
["Paste text from the clipboard"] = "从clipboard粘贴text", -- src\editor\menu_edit.lua
|
||||
["Preferences"] = "首选项", -- src\editor\menu_edit.lua
|
||||
["Prepend '=' to show complex values on multiple lines."] = "在多行展现复杂值请前置 '='", -- src\editor\shellbox.lua
|
||||
@@ -149,8 +172,9 @@ return {
|
||||
["Program stopped (pid: %d)."] = "程式停止 (pid: %d).", -- src\editor\debugger.lua
|
||||
["Program unable to run as '%s'."] = "程式不能以 '%s' 执行", -- src\editor\output.lua
|
||||
["Project Directory"] = "项目文件夹", -- src\editor\menu_project.lua
|
||||
["Project"] = "项目", -- src\editor\settings.lua, src\editor\gui.lua
|
||||
["Project"] = "项目", -- src\editor\gui.lua, src\editor\settings.lua
|
||||
["Project/&FileTree Window"] = "项目/文档树 视窗", -- src\editor\menu_view.lua
|
||||
["Provide command line parameters"] = nil, -- src\editor\menu_project.lua
|
||||
["R/O"] = "唯读", -- src\editor\editor.lua
|
||||
["R/W"] = "读写", -- src\editor\editor.lua
|
||||
["Re&place In Files"] = "在文档中替换", -- src\editor\menu_search.lua
|
||||
@@ -159,6 +183,7 @@ return {
|
||||
["Refused a request to start a new debugging session as there is one in progress already."] = "因为有另一个除错在进行,拒绝开启新的除错对话", -- src\editor\debugger.lua
|
||||
["Regular &expression"] = "正则表达式", -- src\editor\findreplace.lua
|
||||
["Remote console"] = "远程主控台", -- src\editor\shellbox.lua
|
||||
["Rename All Instances"] = nil, -- src\editor\editor.lua
|
||||
["Replace A&ll"] = "更换全部", -- src\editor\findreplace.lua
|
||||
["Replace"] = "更换", -- src\editor\findreplace.lua
|
||||
["Replaced an invalid UTF8 character with %s."] = "以%s更换无效的UTF8字元", -- src\editor\commands.lua
|
||||
@@ -169,47 +194,56 @@ return {
|
||||
["Run as Scratchpad"] = "以Scratchpad执行", -- src\editor\menu_project.lua
|
||||
["S&top Debugging"] = "停止除错", -- src\editor\menu_project.lua
|
||||
["S&top Process"] = "停止进程", -- src\editor\menu_project.lua
|
||||
["Save &As..."] = "另存为...", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["Save &As..."] = "另存为...", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["Save A&ll"] = "全部存档", -- src\editor\menu_file.lua
|
||||
["Save Changes?"] = "存档更新?", -- src\editor\commands.lua
|
||||
["Save all open documents"] = "保存所有开启的文档", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["Save all open documents"] = "保存所有开启的文档", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["Save file as"] = "文档另存为", -- src\editor\commands.lua
|
||||
["Save file?"] = "保存文档?", -- src\editor\commands.lua
|
||||
["Save the current document to a file with a new name"] = "用新档案名称保存当前文档", -- src\editor\menu_file.lua
|
||||
["Save the current document"] = "保存当前文档", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["Save the current document"] = "保存当前文档", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["Saved auto-recover at %s."] = "在 %s 存档自动恢复", -- src\editor\commands.lua
|
||||
["Scope"] = "范围", -- src\editor\findreplace.lua
|
||||
["Scratchpad error"] = "暂存器错误", -- src\editor\debugger.lua
|
||||
["Searching for"] = "搜索", -- src\editor\findreplace.lua
|
||||
["Select &All"] = "选全部", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["Select &All"] = "选全部", -- src\editor\menu_edit.lua, src\editor\editor.lua
|
||||
["Select all text in the editor"] = "选编辑器内的所有text", -- src\editor\menu_edit.lua
|
||||
["Select and Find Next"] = nil, -- src\editor\menu_search.lua
|
||||
["Select and Find Previous"] = nil, -- src\editor\menu_search.lua
|
||||
["Select the word under cursor and find its next occurrence"] = nil, -- src\editor\menu_search.lua
|
||||
["Select the word under cursor and find its previous occurrence"] = nil, -- src\editor\menu_search.lua
|
||||
["Set From Current File"] = "从当前文档设置", -- src\editor\menu_project.lua
|
||||
["Set project directory from current file"] = "从当前文档设置项目文件夹", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Set project directory from current file"] = "从当前文档设置项目文件夹", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["Set the interpreter to be used"] = "设置解释器", -- src\editor\menu_project.lua
|
||||
["Set the project directory to be used"] = "设置项目文件夹", -- src\editor\menu_project.lua
|
||||
["Settings: System"] = "设置: 系统", -- src\editor\menu_edit.lua
|
||||
["Settings: User"] = "设置: 用户", -- src\editor\menu_edit.lua
|
||||
["Show &Tooltip"] = "展现tooltip", -- src\editor\menu_edit.lua
|
||||
["Show Location"] = nil, -- src\editor\gui.lua, src\editor\filetree.lua
|
||||
["Show tooltip for current position; place cursor after opening bracket of function"] = "在当前的位置展现tooltip; 把游标放置于函数的开括号之后", -- src\editor\menu_edit.lua
|
||||
["Sort selected lines"] = "对被选的行进行排列", -- src\editor\menu_search.lua
|
||||
["Stack"] = "堆栈", -- src\editor\debugger.lua
|
||||
["Sort selected lines"] = "对被选的行进行排列", -- src\editor\menu_edit.lua
|
||||
["Stack"] = "堆栈", -- src\editor\debugger.lua, src\editor\gui.lua
|
||||
["Start &Debugging"] = "开始除错", -- src\editor\menu_project.lua
|
||||
["Start debugging"] = "开始除错", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Start or Continue debugging"] = nil, -- src\editor\gui.lua
|
||||
["Start or continue debugging"] = nil, -- src\editor\menu_project.lua
|
||||
["Step &Into"] = "除错运行 进入子程序/函数", -- src\editor\menu_project.lua
|
||||
["Step &Over"] = "除错运行 掠过子程序/函数", -- src\editor\menu_project.lua
|
||||
["Step O&ut"] = "除错运行 离开子程序/函数", -- src\editor\menu_project.lua
|
||||
["Step into"] = "除错运行 进入子程序/函数", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Step out of the current function"] = "除错运行 离开当前的函数", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Step over"] = "除错运行 掠过子程序/函数", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Stop the currently running process"] = "终止目前进行着的进程", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Step into"] = "除错运行 进入子程序/函数", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["Step out of the current function"] = "除错运行 离开当前的函数", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["Step over"] = "除错运行 掠过子程序/函数", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["Stop the currently running process"] = "终止目前进行着的进程", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["Switch to or from full screen mode"] = "切换全屏模式", -- src\editor\menu_view.lua
|
||||
["Text not found."] = "寻找不到text", -- src\editor\findreplace.lua
|
||||
["The API file must be located in a subdirectory of the API directory."] = "API file必须存放在API文件夹中的子文件夹", -- src\editor\autocomplete.lua
|
||||
["Toggle Break&point"] = "切换中断点", -- src\editor\menu_project.lua
|
||||
["Toggle breakpoint"] = "切换中断点", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Toggle breakpoint"] = "切换中断点", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["Tr&ace"] = "追踪", -- src\editor\menu_project.lua
|
||||
["Trace execution showing each executed line"] = "执行追踪展示每一执行过的语句", -- src\editor\menu_project.lua
|
||||
["Unable to create directory '%s'."] = nil, -- src\editor\filetree.lua
|
||||
["Unable to create file '%s'."] = nil, -- src\editor\filetree.lua
|
||||
["Unable to load file '%s'."] = "导出文件失败 '%s'.", -- src\editor\commands.lua
|
||||
["Unable to rename file '%s'."] = nil, -- src\editor\filetree.lua
|
||||
["Unable to save file '%s': %s"] = "保存文件失败 '%s': %s", -- src\editor\commands.lua
|
||||
["Unable to stop program (pid: %d), code %d."] = "停止程序失败 (pid: %d), 代码 %d.", -- src\editor\debugger.lua
|
||||
["Undo last edit"] = "清除前编辑动作", -- src\editor\menu_edit.lua
|
||||
@@ -220,12 +254,13 @@ return {
|
||||
["Value"] = "数值", -- src\editor\debugger.lua
|
||||
["View the output/console window"] = "查看输出/主控台视窗", -- src\editor\menu_view.lua
|
||||
["View the project/filetree window"] = "查看项目/文件树视窗", -- src\editor\menu_view.lua
|
||||
["View the stack window"] = "查看堆栈视窗", -- src\editor\menu_view.lua, src\editor\gui.lua
|
||||
["View the watch window"] = "查看监视视窗", -- src\editor\menu_view.lua, src\editor\gui.lua
|
||||
["Watch"] = "监视", -- src\editor\debugger.lua
|
||||
["View the stack window"] = "查看堆栈视窗", -- src\editor\gui.lua, src\editor\menu_view.lua
|
||||
["View the watch window"] = "查看监视视窗", -- src\editor\gui.lua, src\editor\menu_view.lua
|
||||
["Watch"] = "监视", -- src\editor\debugger.lua, src\editor\gui.lua
|
||||
["Welcome to the interactive Lua interpreter."] = "欢迎来到互动 Lua interpreter.", -- src\editor\shellbox.lua
|
||||
["Wrap ar&ound"] = "卷绕", -- src\editor\findreplace.lua
|
||||
["You must save the program first."] = "必须先保存程序", -- src\editor\commands.lua
|
||||
["on line %d"] = "在 %d 行", -- src\editor\debugger.lua, src\editor\commands.lua
|
||||
["on line %d"] = "在 %d 行", -- src\editor\debugger.lua, src\editor\editor.lua, src\editor\commands.lua
|
||||
["traced %d instruction"] = "追踪 %d 指令", -- src\editor\debugger.lua
|
||||
["unknown error"] = nil, -- src\editor\debugger.lua
|
||||
}
|
||||
|
||||
119
cfg/i18n/de.lua
119
cfg/i18n/de.lua
@@ -5,11 +5,14 @@ return {
|
||||
["&About"] = "&Über", -- src\editor\menu_help.lua
|
||||
["&Add Watch"] = "&Beobachtungspunkt hinzufügen", -- src\editor\debugger.lua
|
||||
["&Break"] = "&Unterbrechung", -- src\editor\menu_project.lua
|
||||
["&Close Page"] = "S&eite schließen", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["&Close Page"] = "S&eite schließen", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["&Community"] = "&Community", -- src\editor\menu_help.lua
|
||||
["&Compile"] = "&Compiler", -- src\editor\menu_project.lua
|
||||
["&Copy"] = "&Kopieren", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["&Copy"] = "&Kopieren", -- src\editor\menu_edit.lua, src\editor\editor.lua
|
||||
["&Default Layout"] = "Standard-&Layout", -- src\editor\menu_view.lua
|
||||
["&Delete Watch"] = "&Beobachtungspunkt entfernen", -- src\editor\debugger.lua
|
||||
["&Delete"] = "&Entfernen", -- src\editor\filetree.lua
|
||||
["&Documentation"] = "&Dokumentation", -- src\editor\menu_help.lua
|
||||
["&Down"] = "&Runter", -- src\editor\findreplace.lua
|
||||
["&Edit Watch"] = "&Beobachtungspunkt bearbeiten", -- src\editor\debugger.lua
|
||||
["&Edit"] = "&Bearbeiten", -- src\editor\menu_edit.lua
|
||||
@@ -18,48 +21,56 @@ return {
|
||||
["&Find Next"] = "&Nächsten finden", -- src\editor\findreplace.lua
|
||||
["&Find"] = "&Finden", -- src\editor\menu_search.lua
|
||||
["&Fold/Unfold All"] = "A&lles ein-/ausklappen", -- src\editor\menu_edit.lua
|
||||
["&Frequently Asked Questions"] = "&FAQ", -- src\editor\menu_help.lua
|
||||
["&Getting Started Guide"] = "&Anfängerleitfaden", -- src\editor\menu_help.lua
|
||||
["&Goto Line"] = "&Gehe zu Zeile", -- src\editor\menu_search.lua
|
||||
["&Help"] = "&Hilfe", -- src\editor\menu_help.lua
|
||||
["&New Directory"] = "&Neuer Ordner", -- src\editor\filetree.lua
|
||||
["&New"] = "&Neu", -- src\editor\menu_file.lua
|
||||
["&Open..."] = "&Öffnen...", -- src\editor\menu_file.lua
|
||||
["&Output/Console Window"] = "&Ausgabefenster/Konsole", -- src\editor\menu_view.lua
|
||||
["&Paste"] = "&Einfügen", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["&Project"] = "&Projekt", -- src\editor\menu_project.lua, src\editor\inspect.lua
|
||||
["&Redo"] = "&Wiederholen", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["&Paste"] = "&Einfügen", -- src\editor\menu_edit.lua, src\editor\editor.lua
|
||||
["&Project Page"] = "&Projektseite", -- src\editor\menu_help.lua
|
||||
["&Project"] = "&Projekt", -- src\editor\inspect.lua, src\editor\menu_project.lua
|
||||
["&Redo"] = "&Wiederholen", -- src\editor\menu_edit.lua, src\editor\editor.lua
|
||||
["&Rename"] = "&Umbenennen", -- src\editor\filetree.lua
|
||||
["&Replace All"] = "&Alles ersetzen", -- src\editor\findreplace.lua
|
||||
["&Replace"] = "&Ersetzen", -- src\editor\findreplace.lua, src\editor\menu_search.lua
|
||||
["&Run"] = "&Starten", -- src\editor\menu_project.lua
|
||||
["&Save"] = "&Speichern", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["&Save"] = "&Speichern", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["&Search"] = "&Suchen", -- src\editor\menu_search.lua
|
||||
["&Sort"] = "&Sortieren", -- src\editor\menu_search.lua
|
||||
["&Sort"] = "&Sortieren", -- src\editor\menu_edit.lua
|
||||
["&Stack Window"] = "&Stapel/Stack", -- src\editor\menu_view.lua
|
||||
["&Start Debugger Server"] = "De&bugserver starten", -- src\editor\menu_project.lua
|
||||
["&Subdirectories"] = "&Unterverzeichnisse", -- src\editor\findreplace.lua
|
||||
["&Undo"] = "&Rückgängig", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["&Tutorials"] = "&Tutorien", -- src\editor\menu_help.lua
|
||||
["&Undo"] = "&Rückgängig", -- src\editor\menu_edit.lua, src\editor\editor.lua
|
||||
["&Up"] = "&Hoch", -- src\editor\findreplace.lua
|
||||
["&View"] = "&Ansicht", -- src\editor\menu_view.lua
|
||||
["&Watch Window"] = "&Beobachtungspunkte", -- src\editor\menu_view.lua
|
||||
[".&bak on Replace"] = ".&bak bei Ersetzen", -- src\editor\findreplace.lua
|
||||
["About %s"] = "Über %s", -- src\editor\menu_help.lua
|
||||
["Add Watch Expression"] = "Beobachtungspunkt hinzufügen", -- src\editor\editor.lua
|
||||
["Add To Scratchpad"] = "Zu Entwurf hinzufügen", -- src\editor\editor.lua
|
||||
["Add Watch Expression"] = "Beobachtungspunkt hinzufügen", -- src\editor\editor.lua
|
||||
["All files"] = "Alle Dateien", -- src\editor\commands.lua
|
||||
["Allow external process to start debugging"] = "Externem Prozeß erlauben, den Debugger zu starten", -- src\editor\menu_project.lua
|
||||
["Analyze the source code"] = "Quellcode analysieren", -- src\editor\inspect.lua
|
||||
["Analyze"] = "&Analyseroutine", -- src\editor\inspect.lua
|
||||
["Auto Complete Identifiers"] = "Auto-Vervollständigen von Bezeichnern", -- src\editor\menu_edit.lua
|
||||
["Auto complete while typing"] = "Auto-Vervollständigen beim Tippen", -- src\editor\menu_edit.lua
|
||||
["Break execution at the next executed line of code"] = "Programmausführung bei der nächsten ausgeführten Zeile stoppen", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["C&lear Output Window"] = "Ausgabefenster &löschen", -- src\editor\menu_project.lua
|
||||
["C&omment/Uncomment"] = "(Aus-)/&Kommentieren", -- src\editor\menu_edit.lua
|
||||
["Break execution at the next executed line of code"] = "Programmausführung bei der nächsten ausgeführten Zeile stoppen", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["C&lear Output Window"] = "Ausgabefenster l&öschen", -- src\editor\menu_project.lua
|
||||
["C&omment/Uncomment"] = "(Aus-)/K&ommentieren", -- src\editor\menu_edit.lua
|
||||
["Can't debug the script in the active editor window."] = "Script kann im aktiven Editorfenster nicht gedebuggt werden.", -- src\editor\debugger.lua
|
||||
["Can't find file '%s' in the current project to activate for debugging. Update the project or open the file in the editor before debugging."] = "Kann Datei '%s' zwecks Debugging im aktuellen Projekt nicht finden. Bitte Projekt aktualisieren oder Datei in den Editor laden.", -- src\editor\debugger.lua
|
||||
["Can't process auto-recovery record; invalid format: %s."] = "Auto-Wiederherstellen nicht möglich; ungültiges Format: %s.", -- src\editor\commands.lua
|
||||
["Can't run the entry point script ('%s')."] = "Kann Script für Einsprungspunkt ('%s') nicht ausführen.", -- src\editor\debugger.lua
|
||||
["Can't start debugger server at %s:%d: %s."] = "Kann Debugserver nicht starten (%s:%d): %s.", -- src\editor\debugger.lua
|
||||
["Can't start debugging session due to internal error '%s'."] = "Debugging kann nicht gestartet werden wegen internem Fehler '%s'.", -- src\editor\debugger.lua
|
||||
["Can't start debugging without an opened file or with the current file not being saved ('%s')."] = "Debugging kann nicht gestartet werden ohne geöffnete Datei oder wenn die aktuelle Datei nicht gespeichert ist ('%s').", -- src\editor\debugger.lua
|
||||
["Can't start debugging without an opened file or with the current file not being saved ('%s')."] = "Debugging kann ohne geöffnete Datei nicht gestartet werden oder wenn die aktuelle Datei nicht gespeichert ist ('%s').", -- src\editor\debugger.lua
|
||||
["Cancel"] = "Abbrechen", -- src\editor\findreplace.lua
|
||||
["Choose ..."] = "Wählen...", -- src\editor\menu_project.lua
|
||||
["Cancelled by the user."] = "Durch Benutzer abgebrochen.", -- src\editor\findreplace.lua
|
||||
["Choose..."] = "Wählen...", -- src\editor\menu_project.lua
|
||||
["Choose a project directory"] = "Projektverzeichnis auswählen", -- src\editor\findreplace.lua, src\editor\menu_project.lua
|
||||
["Clear &Dynamic Words"] = "&Dynamic Words löschen", -- src\editor\menu_edit.lua
|
||||
["Clear the output window before compiling or debugging"] = "Vor Kompilieren oder Debuggen das Ausgabefenster löschen", -- src\editor\menu_project.lua
|
||||
@@ -68,26 +79,33 @@ return {
|
||||
["Close the current editor window"] = "Aktuelles Editorfenster schließen", -- src\editor\menu_file.lua
|
||||
["Co&ntinue"] = "&Fortsetzen", -- src\editor\menu_project.lua
|
||||
["Col: %d"] = "Spalte: %d", -- src\editor\editor.lua
|
||||
["Command Line Parameters..."] = "Kommandozeilenparameter...", -- src\editor\menu_project.lua
|
||||
["Command line parameters"] = "Kommandozeilenparameter", -- src\editor\menu_project.lua
|
||||
["Comment or uncomment current or selected lines"] = "Ausgewählte bzw. aktive Zeile (un-)kommentieren", -- src\editor\menu_edit.lua
|
||||
["Compilation error"] = "Fehler beim Kompilieren", -- src\editor\debugger.lua, src\editor\commands.lua
|
||||
["Compilation error"] = "Fehler beim Kompilieren", -- src\editor\commands.lua, src\editor\debugger.lua
|
||||
["Compilation successful; %.0f%% success rate (%d/%d)."] = "Kompilieren erfolgreich; Erfolgsquote von %.0f%% (%d/%d).", -- src\editor\commands.lua
|
||||
["Compile the current file"] = "Aktuelle Datei kompilieren", -- src\editor\menu_project.lua
|
||||
["Complete &Identifier"] = "&Bezeichner vervollständigen", -- src\editor\menu_edit.lua
|
||||
["Complete the current identifier"] = " Aktuellen Bezeichner vervollständigen", -- src\editor\menu_edit.lua
|
||||
["Consider removing backslash from escape sequence '%s'."] = "Möglicherweise muß `\' aus '%s' entfernt werden.", -- src\editor\commands.lua
|
||||
["Copy Full Path"] = "Kopiere Pfadangabe", -- src\editor\filetree.lua
|
||||
["Copy selected text to clipboard"] = "Text in Zwischenablage kopieren", -- src\editor\menu_edit.lua
|
||||
["Couldn't activate file '%s' for debugging; continuing without it."] = "Konnte Datei '%s' zwecks nicht Debugging aktivieren; fahre ohne die Datei fort.", -- src\editor\debugger.lua
|
||||
["Create an empty document"] = "Leeres Dokument anlegen", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["Cu&t"] = "A&usschneiden", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["Create an empty document"] = "Leeres Dokument anlegen", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["Cu&t"] = "A&usschneiden", -- src\editor\menu_edit.lua, src\editor\editor.lua
|
||||
["Cut selected text to clipboard"] = "Schneide ausgewählten Text in die Zwischenablage hinein", -- src\editor\menu_edit.lua
|
||||
["Debugger server started at %s:%d."] = "Debugserver gestartet an %s:%d.", -- src\editor\debugger.lua
|
||||
["Debugger server started at %s:%d."] = "Debugserver gestartet als %s:%d.", -- src\editor\debugger.lua
|
||||
["Debugging session completed (%s)."] = "Debugging Session beendet (%s).", -- src\editor\debugger.lua
|
||||
["Debugging session started in '%s'."] = "Debugging Session gestartet '%s'.", -- src\editor\debugger.lua
|
||||
["Debugging suspended at %s:%s (couldn't activate the file)."] = "Debugging angehalten bei %s:%s (konnte Datei nicht aktivieren).", -- src\editor\debugger.lua
|
||||
["Directory"] = "Verzeichnis", -- src\editor\findreplace.lua
|
||||
["Do you want to delete '%s'?"] = "Soll '%s' gelöscht werden?", -- src\editor\filetree.lua
|
||||
["Do you want to overwrite it?"] = "Überschreiben?", -- src\editor\commands.lua
|
||||
["Do you want to reload it?"] = "Neu laden?", -- src\editor\editor.lua
|
||||
["Do you want to save the changes to '%s'?"] = "Änderungen an '%s' speichern?", -- src\editor\commands.lua
|
||||
["E&xit"] = "&Beenden", -- src\editor\menu_file.lua
|
||||
["Enter Lua code and press Enter to run it."] = "Lua-Code eingeben und Enter drücken zum Ausführen.", -- src\editor\shellbox.lua
|
||||
["Enter command line parameters (use Cancel to clear)"] = "Kommandozeilenparameter eingeben (Cancel zum löschen)", -- src\editor\menu_project.lua
|
||||
["Enter line number"] = "Zeilennummer eingeben", -- src\editor\menu_search.lua
|
||||
["Error while loading API file: %s"] = "Fehler beim Laden von API-Datei: %s", -- src\editor\autocomplete.lua
|
||||
["Error while loading configuration file: %s"] = "Fehler beim Laden von Konfigurationsdatei: %s", -- src\editor\style.lua
|
||||
@@ -103,17 +121,18 @@ return {
|
||||
["Expression"] = "Ausdruck", -- src\editor\debugger.lua
|
||||
["File '%s' has been modified on disk."] = "Datei '%s' wurde auf der Festplatte geändert.", -- src\editor\editor.lua
|
||||
["File '%s' has more recent timestamp than restored '%s'; please review before saving."] = "Datei '%s' hat neueren Zeitstempel als wiederhergestellte Datei '%s'; bitte vor dem Speichern kontrollieren.", -- src\editor\commands.lua
|
||||
["File '%s' no longer exists."] = "Datei '%s' existiert nicht mehr.", -- src\editor\editor.lua, src\editor\menu_file.lua
|
||||
["File '%s' no longer exists."] = "Datei '%s' existiert nicht mehr.", -- src\editor\menu_file.lua, src\editor\editor.lua
|
||||
["File Type"] = "Dateityp", -- src\editor\findreplace.lua
|
||||
["File already exists."] = "Datei existiert bereits.", -- src\editor\commands.lua
|
||||
["File history"] = "Dateiverlauf", -- src\editor\menu_file.lua
|
||||
["Find &In Files"] = "Finde &in Dateien", -- src\editor\menu_search.lua
|
||||
["Find &Next"] = "Finde &Nächste", -- src\editor\menu_search.lua
|
||||
["Find &Previous"] = "Finde &Vorherige", -- src\editor\menu_search.lua
|
||||
["Find In Files"] = "Finde in Dateien", -- src\editor\findreplace.lua
|
||||
["Find and replace text in files"] = "Finde und ersetze Text in Dateien", -- src\editor\menu_search.lua
|
||||
["Find and replace text"] = "Finde und ersetze Text", -- src\editor\menu_search.lua, src\editor\gui.lua
|
||||
["Find and replace text"] = "Finde und ersetze Text", -- src\editor\gui.lua, src\editor\menu_search.lua
|
||||
["Find text in files"] = "Finde Text in Dateien", -- src\editor\menu_search.lua
|
||||
["Find text"] = "Finde Text", -- src\editor\menu_search.lua, src\editor\gui.lua
|
||||
["Find text"] = "Finde Text", -- src\editor\gui.lua, src\editor\menu_search.lua
|
||||
["Find the earlier text occurence"] = "Finde vorheriges Auftreten des Textes", -- src\editor\menu_search.lua
|
||||
["Find the next text occurrence"] = "Finde nächstes Auftreten des Textes", -- src\editor\menu_search.lua
|
||||
["Find"] = "Finden", -- src\editor\findreplace.lua
|
||||
@@ -129,18 +148,20 @@ return {
|
||||
["Jump to a function definition..."] = "Springe zu Funktions-Definition...", -- src\editor\editor.lua
|
||||
["Known Files"] = "Bekannte Dateien", -- src\editor\commands.lua
|
||||
["Ln: %d"] = "Zeile: %d", -- src\editor\editor.lua
|
||||
["Local console"] = "Lokale Konsole", -- src\editor\shellbox.lua, src\editor\gui.lua
|
||||
["Local console"] = "Lokale Konsole", -- src\editor\gui.lua, src\editor\shellbox.lua
|
||||
["Lua &Interpreter"] = "&Lua Interpreter", -- src\editor\menu_project.lua
|
||||
["Mapped remote request for '%s' to '%s'."] = "Mapped remote request for '%s' to '%s'.", -- src\editor\debugger.lua
|
||||
["Match &case"] = "&Groß-/Kleinschreibung", -- src\editor\findreplace.lua
|
||||
["Match &whole word"] = "Ganzes &Wort", -- src\editor\findreplace.lua
|
||||
["Mixed end-of-line encodings detected."] = "Gemischte End-of-Line Kodierung entdeckt.", -- src\editor\commands.lua
|
||||
["New &File"] = "Neue &Datei", -- src\editor\filetree.lua
|
||||
["OVR"] = "OVR", -- src\editor\editor.lua
|
||||
["Open an existing document"] = "Öffne existierendes Dokument", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["Open With Default Program"] = "Mit Standardanwendung öffnen", -- src\editor\filetree.lua
|
||||
["Open an existing document"] = "Öffne existierendes Dokument", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["Open file"] = "Öffne Datei", -- src\editor\commands.lua
|
||||
["Options"] = "Optionen", -- src\editor\findreplace.lua
|
||||
["Output (running)"] = "Ausgabe (ausgeführt)", -- src\editor\output.lua
|
||||
["Output"] = "Ausgabe", -- src\editor\output.lua, src\editor\settings.lua, src\editor\gui.lua
|
||||
["Output"] = "Ausgabe", -- src\editor\gui.lua, src\editor\output.lua, src\editor\settings.lua
|
||||
["Paste text from the clipboard"] = "Text aus Zwischenablage einfügen", -- src\editor\menu_edit.lua
|
||||
["Preferences"] = "Einstellungen", -- src\editor\menu_edit.lua
|
||||
["Prepend '=' to show complex values on multiple lines."] = "'=' voranstellen, um komplexe Ausdrücke auf mehrere Zeilen zu verteilen.", -- src\editor\shellbox.lua
|
||||
@@ -152,8 +173,9 @@ return {
|
||||
["Program stopped (pid: %d)."] = "Programm gestoppt (pid: %d).", -- src\editor\debugger.lua
|
||||
["Program unable to run as '%s'."] = "Programm kann nicht als '%s' laufen.", -- src\editor\output.lua
|
||||
["Project Directory"] = "&Projektverzeichnis", -- src\editor\menu_project.lua
|
||||
["Project"] = "Projekt", -- src\editor\settings.lua, src\editor\gui.lua
|
||||
["Project"] = "Projekt", -- src\editor\gui.lua, src\editor\settings.lua
|
||||
["Project/&FileTree Window"] = "&Projekt/Datei Fenster", -- src\editor\menu_view.lua
|
||||
["Provide command line parameters"] = "Kommandozeilenparameter angeben", -- src\editor\menu_project.lua
|
||||
["R/O"] = "R/O", -- src\editor\editor.lua
|
||||
["R/W"] = "R/W", -- src\editor\editor.lua
|
||||
["Re&place In Files"] = "Ersetze in &Dateien", -- src\editor\menu_search.lua
|
||||
@@ -173,22 +195,26 @@ return {
|
||||
["Run as Scratchpad"] = "Als &Entwurf starten", -- src\editor\menu_project.lua
|
||||
["S&top Debugging"] = "Debugging a&nhalten", -- src\editor\menu_project.lua
|
||||
["S&top Process"] = "Prozeß &anhalten", -- src\editor\menu_project.lua
|
||||
["Save &As..."] = "S&peichern als...", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["Save &As..."] = "S&peichern als...", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["Save A&ll"] = "&Alle Speichern", -- src\editor\menu_file.lua
|
||||
["Save Changes?"] = "Änderungen speichern?", -- src\editor\commands.lua
|
||||
["Save all open documents"] = "Alle offenen Dokumente speichern", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["Save all open documents"] = "Alle offenen Dokumente speichern", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["Save file as"] = "Datei speichern als", -- src\editor\commands.lua
|
||||
["Save file?"] = "Datei speichern?", -- src\editor\commands.lua
|
||||
["Save the current document to a file with a new name"] = "Aktuelles Dokument unter neuem Namen speichern", -- src\editor\menu_file.lua
|
||||
["Save the current document"] = "Aktuelles Dokument speichern", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["Saved auto-recover at %s."] = "Autowiederherstellen gespeichert unter %s.", -- src\editor\commands.lua
|
||||
["Save the current document"] = "Aktuelles Dokument speichern", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["Saved auto-recover at %s."] = "%s Autowiederherstellen gespeichert.", -- src\editor\commands.lua
|
||||
["Scope"] = "Richtung", -- src\editor\findreplace.lua
|
||||
["Scratchpad error"] = "Fehler im Entwurf", -- src\editor\debugger.lua
|
||||
["Searching for"] = "Suchen nach", -- src\editor\findreplace.lua
|
||||
["Select &All"] = "&Alles Auswählen", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["Select &All"] = "&Alles Auswählen", -- src\editor\menu_edit.lua, src\editor\editor.lua
|
||||
["Select all text in the editor"] = "Kompletten Text im Editor auswählen", -- src\editor\menu_edit.lua
|
||||
["Select and Find Next"] = "Auswählen und nächstes finden", -- src\editor\menu_search.lua
|
||||
["Select and Find Previous"] = "Auswählen und vorheriges finden", -- src\editor\menu_search.lua
|
||||
["Select the word under cursor and find its next occurrence"] = "Wort unter dem Cursor auswählen und nächstes Auftauchen finden", -- src\editor\menu_search.lua
|
||||
["Select the word under cursor and find its previous occurrence"] = "Wort unter dem Cursor auswählen und vorheriges Auftauchen finden", -- src\editor\menu_search.lua
|
||||
["Set From Current File"] = "Anhand der aktuellen Datei festlegen", -- src\editor\menu_project.lua
|
||||
["Set project directory from current file"] = "Lege Projektverzeichnis anhand der aktuellen Datei fest", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Set project directory from current file"] = "Lege Projektverzeichnis anhand der aktuellen Datei fest", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["Set the interpreter to be used"] = "Wähle zu benutzenden Interpreter aus", -- src\editor\menu_project.lua
|
||||
["Set the project directory to be used"] = "Lege zu benutzendes Projektverzeichnis fest", -- src\editor\menu_project.lua
|
||||
["Settings: System"] = "Einstellungen: System", -- src\editor\menu_edit.lua
|
||||
@@ -196,25 +222,29 @@ return {
|
||||
["Show &Tooltip"] = "&Tooltip zeigen", -- src\editor\menu_edit.lua
|
||||
["Show Location"] = "Ordner öffnen", -- src\editor\gui.lua, src\editor\filetree.lua
|
||||
["Show tooltip for current position; place cursor after opening bracket of function"] = "Zeige Tooltip für aktuelle Position; setze Cursor hinter die öffnende Klammer der Funktion", -- src\editor\menu_edit.lua
|
||||
["Sort selected lines"] = "Ausgewählte Zeilen sortieren", -- src\editor\menu_search.lua
|
||||
["Stack"] = "Stack", -- src\editor\debugger.lua
|
||||
["Sort selected lines"] = "Ausgewählte Zeilen sortieren", -- src\editor\menu_edit.lua
|
||||
["Stack"] = "Stack", -- src\editor\debugger.lua, src\editor\gui.lua
|
||||
["Start &Debugging"] = "&Debugging starten", -- src\editor\menu_project.lua
|
||||
["Start debugging"] = "Debugging starten", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Start or Continue debugging"] = "Debuggen starten/fortsetzen", -- src\editor\gui.lua
|
||||
["Start or continue debugging"] = "Debuggen starten/fortsetzen", -- src\editor\menu_project.lua
|
||||
["Step &Into"] = "Schritt h&inein", -- src\editor\menu_project.lua
|
||||
["Step &Over"] = "&Überspringen", -- src\editor\menu_project.lua
|
||||
["Step O&ut"] = "Schritt &raus", -- src\editor\menu_project.lua
|
||||
["Step into"] = "Schritt hinein", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Step out of the current function"] = "Schritt aus der aktuellen Funktion heraus", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Step over"] = "Überspringen", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Stop the currently running process"] = "Aktuell laufenden Prozeß stoppen", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Step into"] = "Schritt hinein", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["Step out of the current function"] = "Schritt aus der aktuellen Funktion heraus", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["Step over"] = "Überspringen", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["Stop the currently running process"] = "Aktuell laufenden Prozeß stoppen", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["Switch to or from full screen mode"] = "Vollbild an/aus", -- src\editor\menu_view.lua
|
||||
["Text not found."] = "Text nicht gefunden.", -- src\editor\findreplace.lua
|
||||
["The API file must be located in a subdirectory of the API directory."] = "Die API-Datei muß sich in einem Unterverzeichnis des API-Vereichnisses befinden.", -- src\editor\autocomplete.lua
|
||||
["Toggle Break&point"] = "&Haltepunkt an/aus", -- src\editor\menu_project.lua
|
||||
["Toggle breakpoint"] = "Haltepunkt an/aus", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Toggle breakpoint"] = "Haltepunkt an/aus", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["Tr&ace"] = "Ablauf &verfolgen", -- src\editor\menu_project.lua
|
||||
["Trace execution showing each executed line"] = "Ablaufverfolgung zeigt jede ausgeführte Zeile an", -- src\editor\menu_project.lua
|
||||
["Unable to create directory '%s'."] = "Kann kein Verzeichnis '%s' erstellen.", -- src\editor\filetree.lua
|
||||
["Unable to create file '%s'."] = "Kann Datei '%s' nicht erstellen.", -- src\editor\filetree.lua
|
||||
["Unable to load file '%s'."] = "Scheitern beim Laden von Datei '%s'.", -- src\editor\commands.lua
|
||||
["Unable to rename file '%s'."] = "Kann Datei '%s' nicht umbenennen.", -- src\editor\filetree.lua
|
||||
["Unable to save file '%s': %s"] = "Scheitern beim Speichern von Datei '%s' : %s", -- src\editor\commands.lua
|
||||
["Unable to stop program (pid: %d), code %d."] = "Scheitern beim Stoppen des Prozesses (pid : %d), code %d.", -- src\editor\debugger.lua
|
||||
["Undo last edit"] = "Letzte Änderung rückgängig machen", -- src\editor\menu_edit.lua
|
||||
@@ -225,12 +255,13 @@ return {
|
||||
["Value"] = "Wert", -- src\editor\debugger.lua
|
||||
["View the output/console window"] = "Ausgabe-/Konsolenfenster ansehen", -- src\editor\menu_view.lua
|
||||
["View the project/filetree window"] = "Projekt-/Dateifenster ansehen", -- src\editor\menu_view.lua
|
||||
["View the stack window"] = "Stapel/Stack-Fenster ansehen", -- src\editor\menu_view.lua, src\editor\gui.lua
|
||||
["View the watch window"] = "Fenster für Beobachtungspunkte ansehen", -- src\editor\menu_view.lua, src\editor\gui.lua
|
||||
["Watch"] = "Beobachtungspunkte", -- src\editor\debugger.lua
|
||||
["View the stack window"] = "Stapel/Stack-Fenster ansehen", -- src\editor\gui.lua, src\editor\menu_view.lua
|
||||
["View the watch window"] = "Fenster für Beobachtungspunkte ansehen", -- src\editor\gui.lua, src\editor\menu_view.lua
|
||||
["Watch"] = "Beobachtungspunkte", -- src\editor\debugger.lua, src\editor\gui.lua
|
||||
["Welcome to the interactive Lua interpreter."] = "Willkommen zum interaktiven Lua-Interpretr!", -- src\editor\shellbox.lua
|
||||
["Wrap ar&ound"] = "Am Anfang fortsetzen", -- src\editor\findreplace.lua
|
||||
["You must save the program first."] = "Erst das Programm speichern.", -- src\editor\commands.lua
|
||||
["on line %d"] = "in Zeile %d", -- src\editor\debugger.lua, src\editor\commands.lua, src\editor\editor.lua
|
||||
["traced %d instruction"] = {"%d Anweisung verfolgt", "%d Anweisungen verfolgt"} -- src\editor\debugger.lua
|
||||
["on line %d"] = "in Zeile %d", -- src\editor\debugger.lua, src\editor\editor.lua, src\editor\commands.lua
|
||||
["traced %d instruction"] = {"%d Anweisung verfolgt", "%d Anweisungen verfolgt"}, -- src\editor\debugger.lua
|
||||
["unknown error"] = "Unbekannter Fehler", -- src\editor\debugger.lua
|
||||
}
|
||||
|
||||
147
cfg/i18n/es.lua
147
cfg/i18n/es.lua
@@ -3,57 +3,78 @@
|
||||
-- 10 de Noviembre de 2012
|
||||
return {
|
||||
[0] = function(c) return c == 1 and 1 or 2 end, -- plural
|
||||
["%d instance"] = nil, -- src\editor\findreplace.lua
|
||||
["%s event failed: %s"] = nil, -- src\editor\package.lua
|
||||
["&About"] = "&Acerca de...", -- src\editor\menu_help.lua
|
||||
["&Add Watch"] = "Añadir observación", -- src\editor\debugger.lua
|
||||
["&Break"] = "Ruptura", -- src\editor\menu_project.lua
|
||||
["&Close Page"] = "Cerrar página", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["&Close Page"] = "Cerrar página", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["&Community"] = nil, -- src\editor\menu_help.lua
|
||||
["&Compile"] = "Compilar", -- src\editor\menu_project.lua
|
||||
["&Copy"] = "Copiar", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["&Copy"] = "Copiar", -- src\editor\menu_edit.lua, src\editor\editor.lua
|
||||
["&Default Layout"] = "Diseño por defecto", -- src\editor\menu_view.lua
|
||||
["&Delete Watch"] = "Eliminar observación", -- src\editor\debugger.lua
|
||||
["&Delete"] = nil, -- src\editor\filetree.lua
|
||||
["&Documentation"] = nil, -- src\editor\menu_help.lua
|
||||
["&Down"] = nil, -- src\editor\findreplace.lua
|
||||
["&Edit Watch"] = "Editar observación", -- src\editor\debugger.lua
|
||||
["&Edit"] = "Editar", -- src\editor\menu_edit.lua
|
||||
["&File"] = "Archivo", -- src\editor\menu_file.lua
|
||||
["&Find All"] = nil, -- src\editor\findreplace.lua
|
||||
["&Find Next"] = nil, -- src\editor\findreplace.lua
|
||||
["&Find"] = "Buscar", -- src\editor\menu_search.lua
|
||||
["&Fold/Unfold All"] = "Plegar/desplegar todo", -- src\editor\menu_edit.lua
|
||||
["&Frequently Asked Questions"] = nil, -- src\editor\menu_help.lua
|
||||
["&Getting Started Guide"] = nil, -- src\editor\menu_help.lua
|
||||
["&Goto Line"] = "Ir a línea", -- src\editor\menu_search.lua
|
||||
["&Help"] = "Ayuda", -- src\editor\menu_help.lua
|
||||
["&New Directory"] = nil, -- src\editor\filetree.lua
|
||||
["&New"] = "&Nuevo", -- src\editor\menu_file.lua
|
||||
["&Open..."] = "&Abrir...", -- src\editor\menu_file.lua
|
||||
["&Output/Console Window"] = "Salida/Consola", -- src\editor\menu_view.lua
|
||||
["&Paste"] = "Pegar", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["&Project"] = "Proyecto", -- src\editor\menu_project.lua, src\editor\inspect.lua
|
||||
["&Redo"] = "Rehacer", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["&Replace"] = "Remplazar", -- src\editor\menu_search.lua
|
||||
["&Paste"] = "Pegar", -- src\editor\menu_edit.lua, src\editor\editor.lua
|
||||
["&Project Page"] = nil, -- src\editor\menu_help.lua
|
||||
["&Project"] = "Proyecto", -- src\editor\inspect.lua, src\editor\menu_project.lua
|
||||
["&Redo"] = "Rehacer", -- src\editor\menu_edit.lua, src\editor\editor.lua
|
||||
["&Rename"] = nil, -- src\editor\filetree.lua
|
||||
["&Replace All"] = nil, -- src\editor\findreplace.lua
|
||||
["&Replace"] = "Remplazar", -- src\editor\findreplace.lua, src\editor\menu_search.lua
|
||||
["&Run"] = "Ejecutar", -- src\editor\menu_project.lua
|
||||
["&Save"] = "Guardar", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["&Save"] = "Guardar", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["&Search"] = "Buscar", -- src\editor\menu_search.lua
|
||||
["&Sort"] = "Clasificar", -- src\editor\menu_search.lua
|
||||
["&Sort"] = "Clasificar", -- src\editor\menu_edit.lua
|
||||
["&Stack Window"] = "Ventana de la pila de ejecución", -- src\editor\menu_view.lua
|
||||
["&Start Debugger Server"] = "Lanzar servidor de depuración", -- src\editor\menu_project.lua
|
||||
["&Undo"] = "Deshacer", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["&Subdirectories"] = nil, -- src\editor\findreplace.lua
|
||||
["&Tutorials"] = nil, -- src\editor\menu_help.lua
|
||||
["&Undo"] = "Deshacer", -- src\editor\menu_edit.lua, src\editor\editor.lua
|
||||
["&Up"] = nil, -- src\editor\findreplace.lua
|
||||
["&View"] = "Ver", -- src\editor\menu_view.lua
|
||||
["&Watch Window"] = "Ventana de observaciones", -- src\editor\menu_view.lua
|
||||
[".&bak on Replace"] = nil, -- src\editor\findreplace.lua
|
||||
["About %s"] = "Acerca de %s", -- src\editor\menu_help.lua
|
||||
["Add Watch Expression"] = "Añadir expresión de observación", -- src\editor\editor.lua
|
||||
["Add To Scratchpad"] = "Añadir al borrador", -- src\editor\editor.lua
|
||||
["Add Watch Expression"] = "Añadir expresión de observación", -- src\editor\editor.lua
|
||||
["All files"] = "Todos los archivos", -- src\editor\commands.lua
|
||||
["Allow external process to start debugging"] = "Permitir proceso externo para iniciar depuración", -- src\editor\menu_project.lua
|
||||
["Analyze the source code"] = "Analizar el código fuente", -- src\editor\inspect.lua
|
||||
["Analyze"] = "Analizar", -- src\editor\inspect.lua
|
||||
["Auto Complete Identifiers"] = "Autocompletar identificadores", -- src\editor\menu_edit.lua
|
||||
["Auto complete while typing"] = "Autocompletar mientras se escribe", -- src\editor\menu_edit.lua
|
||||
["Break execution at the next executed line of code"] = "Parar ejecución en la siguiente línea de código", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Break execution at the next executed line of code"] = "Parar ejecución en la siguiente línea de código", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["C&lear Output Window"] = "Limpiar ventana de Salida", -- src\editor\menu_project.lua
|
||||
["C&omment/Uncomment"] = "Comentar/descomentar", -- src\editor\menu_edit.lua
|
||||
["Can't debug the script in the active editor window."] = "No se puede depurar el script en la ventana activa del editor", -- src\editor\debugger.lua
|
||||
["Can't find file '%s' in the current project to activate for debugging. Update the project or open the file in the editor before debugging."] = "No se puede encontrar el archivo '%s' en el proyecto actual para activar la depuración. Actualiza el proyecto o abre el archivo en el editor antes de depurar.", -- src\editor\debugger.lua
|
||||
["Can't process auto-recovery record; invalid format: %s."] = "No se puede procesar la autorrecuperación; formato inválido: %s.", -- src\editor\commands.lua
|
||||
["Can't run the entry point script ('%s')."] = "No se pude ejecutar el punto de entrada del script (%s).", -- src\editor\debugger.lua
|
||||
["Can't start debugger server at %s:%d: %s."] = nil, -- src\editor\debugger.lua
|
||||
["Can't start debugging session due to internal error '%s'."] = "No se puede iniciar la sesión de depuración debido a un error interno '%s'.'", -- src\editor\debugger.lua
|
||||
["Can't start debugging without an opened file or with the current file not being saved ('%s')."] = "No se puede iniciar la depuración sin abrir un archivo o si no ha sido guardado ('%s').", -- src\editor\debugger.lua
|
||||
["Choose ..."] = nil, -- src\editor\menu_project.lua
|
||||
["Choose a project directory"] = "Elegir el directorio del proyecto", -- src\editor\menu_project.lua
|
||||
["Cancel"] = nil, -- src\editor\findreplace.lua
|
||||
["Cancelled by the user."] = nil, -- src\editor\findreplace.lua
|
||||
["Choose..."] = nil, -- src\editor\menu_project.lua
|
||||
["Choose a project directory"] = "Elegir el directorio del proyecto", -- src\editor\findreplace.lua, src\editor\menu_project.lua
|
||||
["Clear &Dynamic Words"] = "Limpiar las palabras dinámicas", -- src\editor\menu_edit.lua
|
||||
["Clear the output window before compiling or debugging"] = "Limpiar la ventana de salida antes de compilar o depurar", -- src\editor\menu_project.lua
|
||||
["Close &Other Pages"] = nil, -- src\editor\gui.lua
|
||||
@@ -61,25 +82,33 @@ return {
|
||||
["Close the current editor window"] = "Cerrar la ventana actual del editor", -- src\editor\menu_file.lua
|
||||
["Co&ntinue"] = "Continuar", -- src\editor\menu_project.lua
|
||||
["Col: %d"] = "Col: %d", -- src\editor\editor.lua
|
||||
["Command Line Parameters..."] = nil, -- src\editor\menu_project.lua
|
||||
["Command line parameters"] = nil, -- src\editor\menu_project.lua
|
||||
["Comment or uncomment current or selected lines"] = {"Comentar o descomentar la línea activa (seleccionada)","Comentar o descomentar las líneas activas (seleccionadas)"}, -- src\editor\menu_edit.lua
|
||||
["Compilation error"] = "Error de compilación", -- src\editor\debugger.lua, src\editor\commands.lua
|
||||
["Compilation error"] = "Error de compilación", -- src\editor\commands.lua, src\editor\debugger.lua
|
||||
["Compilation successful; %.0f%% success rate (%d/%d)."] = "Compilación exitosa; factor de éxito: %.0f%% (%d/%d).", -- src\editor\commands.lua
|
||||
["Compile the current file"] = "Compilar el archivo actual", -- src\editor\menu_project.lua
|
||||
["Complete &Identifier"] = "Completar identificador", -- src\editor\menu_edit.lua
|
||||
["Complete the current identifier"] = "Completar el actual identificador", -- src\editor\menu_edit.lua
|
||||
["Consider removing backslash from escape sequence '%s'."] = nil, -- src\editor\commands.lua
|
||||
["Copy Full Path"] = nil, -- src\editor\filetree.lua
|
||||
["Copy selected text to clipboard"] = "Copiar el texto seleccionado al portapapeles", -- src\editor\menu_edit.lua
|
||||
["Couldn't activate file '%s' for debugging; continuing without it."] = "No se pudo activar el archivo '%s' para la depuración; continuar sin él.", -- src\editor\debugger.lua
|
||||
["Create an empty document"] = "Crear un documento en blanco", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["Cu&t"] = "Cortar", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["Create an empty document"] = "Crear un documento en blanco", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["Cu&t"] = "Cortar", -- src\editor\menu_edit.lua, src\editor\editor.lua
|
||||
["Cut selected text to clipboard"] = "Cortar el texto selecionado al portapapeles", -- src\editor\menu_edit.lua
|
||||
["Debugger server started at %s:%d."] = "Servidor de depuración inciado en %s:%s", -- src\editor\debugger.lua
|
||||
["Debugging session completed (%s)."] = "Sesión de depuración completada (%s).", -- src\editor\debugger.lua
|
||||
["Debugging session started in '%s'."] = "Sesión de depuración iniciada en '%s'.", -- src\editor\debugger.lua
|
||||
["Debugging suspended at %s:%s (couldn't activate the file)."] = nil, -- src\editor\debugger.lua
|
||||
["Directory"] = nil, -- src\editor\findreplace.lua
|
||||
["Do you want to delete '%s'?"] = nil, -- src\editor\filetree.lua
|
||||
["Do you want to overwrite it?"] = nil, -- src\editor\commands.lua
|
||||
["Do you want to reload it?"] = "¿Quieres recargarlo?", -- src\editor\editor.lua
|
||||
["Do you want to save the changes to '%s'?"] = "¿Quieres guardar los cambios en '%s'?", -- src\editor\commands.lua
|
||||
["E&xit"] = "Salir", -- src\editor\menu_file.lua
|
||||
["Enter Lua code and press Enter to run it."] = "Introduce código Lua y pulsa <Entrer> para ejecutarlo.", -- src\editor\shellbox.lua
|
||||
["Enter command line parameters (use Cancel to clear)"] = nil, -- src\editor\menu_project.lua
|
||||
["Enter line number"] = "Introduce número de línea", -- src\editor\menu_search.lua
|
||||
["Error while loading API file: %s"] = "Error mientras se cargaba el archivo de API: %s", -- src\editor\autocomplete.lua
|
||||
["Error while loading configuration file: %s"] = nil, -- src\editor\style.lua
|
||||
@@ -95,36 +124,49 @@ return {
|
||||
["Expression"] = "Expresión", -- src\editor\debugger.lua
|
||||
["File '%s' has been modified on disk."] = "El archivo '%s' ha sido modificado en el disco.", -- src\editor\editor.lua
|
||||
["File '%s' has more recent timestamp than restored '%s'; please review before saving."] = "El archivo '%s' tiene una fecha más reciente que el restaurado '%s'; por favor, revísalo antes de guardar.", -- src\editor\commands.lua
|
||||
["File '%s' no longer exists."] = "El archivo '%s' no existe.", -- src\editor\editor.lua
|
||||
["File '%s' no longer exists."] = "El archivo '%s' no existe.", -- src\editor\menu_file.lua, src\editor\editor.lua
|
||||
["File Type"] = nil, -- src\editor\findreplace.lua
|
||||
["File already exists."] = nil, -- src\editor\commands.lua
|
||||
["File history"] = "Historial de archivos", -- src\editor\menu_file.lua
|
||||
["Find &In Files"] = "Buscar en archivos", -- src\editor\menu_search.lua
|
||||
["Find &Next"] = "Buscar siguiente", -- src\editor\menu_search.lua
|
||||
["Find &Previous"] = "Buscar anterior", -- src\editor\menu_search.lua
|
||||
["Find In Files"] = nil, -- src\editor\findreplace.lua
|
||||
["Find and replace text in files"] = "Buscar y remplazar texto en archivos", -- src\editor\menu_search.lua
|
||||
["Find and replace text"] = "Buscar y rempleazar texto", -- src\editor\menu_search.lua, src\editor\gui.lua
|
||||
["Find and replace text"] = "Buscar y rempleazar texto", -- src\editor\gui.lua, src\editor\menu_search.lua
|
||||
["Find text in files"] = "Buscar texto en archivos", -- src\editor\menu_search.lua
|
||||
["Find text"] = "Buscar texto", -- src\editor\menu_search.lua, src\editor\gui.lua
|
||||
["Find text"] = "Buscar texto", -- src\editor\gui.lua, src\editor\menu_search.lua
|
||||
["Find the earlier text occurence"] = "Buscar la anterior aparición del texto", -- src\editor\menu_search.lua
|
||||
["Find the next text occurrence"] = "Buscar la siguiente aparecición del texto", -- src\editor\menu_search.lua
|
||||
["Find"] = nil, -- src\editor\findreplace.lua
|
||||
["Fold or unfold all code folds"] = "Plegar o desplegar todo el código plegado", -- src\editor\menu_edit.lua
|
||||
["Found auto-recovery record and restored saved session."] = "Encontrada autorrecuperación y sesión restaurada.", -- src\editor\commands.lua
|
||||
["Found"] = nil, -- src\editor\findreplace.lua
|
||||
["Full &Screen"] = "Pantalla completa", -- src\editor\menu_view.lua
|
||||
["Go To Definition"] = nil, -- src\editor\editor.lua
|
||||
["Go to a selected line"] = "Ir a línea seleccionada", -- src\editor\menu_search.lua
|
||||
["Goto Line"] = "Ir a línea", -- src\editor\menu_search.lua
|
||||
["INS"] = "INS", -- src\editor\editor.lua
|
||||
["In Files"] = nil, -- src\editor\findreplace.lua
|
||||
["Jump to a function definition..."] = "Saltar a la definición de la función...", -- src\editor\editor.lua
|
||||
["Known Files"] = "Archivos conocidos", -- src\editor\commands.lua
|
||||
["Ln: %d"] = "Ln: %d", -- src\editor\editor.lua
|
||||
["Local console"] = "Consola local", -- src\editor\shellbox.lua, src\editor\gui.lua
|
||||
["Local console"] = "Consola local", -- src\editor\gui.lua, src\editor\shellbox.lua
|
||||
["Lua &Interpreter"] = "Intérprete Lua", -- src\editor\menu_project.lua
|
||||
["Mapped remote request for '%s' to '%s'."] = nil, -- src\editor\debugger.lua
|
||||
["Match &case"] = nil, -- src\editor\findreplace.lua
|
||||
["Match &whole word"] = nil, -- src\editor\findreplace.lua
|
||||
["Mixed end-of-line encodings detected."] = nil, -- src\editor\commands.lua
|
||||
["New &File"] = nil, -- src\editor\filetree.lua
|
||||
["OVR"] = "OVR", -- src\editor\editor.lua
|
||||
["Open an existing document"] = "Abrir un documento existente", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["Open With Default Program"] = nil, -- src\editor\filetree.lua
|
||||
["Open an existing document"] = "Abrir un documento existente", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["Open file"] = "Abrir archivo", -- src\editor\commands.lua
|
||||
["Options"] = nil, -- src\editor\findreplace.lua
|
||||
["Output (running)"] = "Salida (en ejecución)", -- src\editor\output.lua
|
||||
["Output"] = "Salida", -- src\editor\output.lua, src\editor\settings.lua, src\editor\gui.lua
|
||||
["Output"] = "Salida", -- src\editor\gui.lua, src\editor\output.lua, src\editor\settings.lua
|
||||
["Paste text from the clipboard"] = "Pegar texto desde el portapapeles", -- src\editor\menu_edit.lua
|
||||
["Preferences"] = nil, -- src\editor\menu_edit.lua
|
||||
["Prepend '=' to show complex values on multiple lines."] = "Antepón '=' para ver valores complejos en líneas múltiples", -- src\editor\shellbox.lua
|
||||
["Press cancel to abort."] = "Presiona cancelar para abortar.", -- src\editor\commands.lua
|
||||
["Program '%s' started in '%s' (pid: %d)."] = "Programa '%s' iniciado en '%s' (pid: %d).", -- src\editor\output.lua
|
||||
@@ -134,57 +176,78 @@ return {
|
||||
["Program stopped (pid: %d)."] = "Programa parado (pid: %d).", -- src\editor\debugger.lua
|
||||
["Program unable to run as '%s'."] = "No se puede ejecutar el programa como '%s'.", -- src\editor\output.lua
|
||||
["Project Directory"] = nil, -- src\editor\menu_project.lua
|
||||
["Project"] = "Proyecto", -- src\editor\settings.lua, src\editor\gui.lua
|
||||
["Project"] = "Proyecto", -- src\editor\gui.lua, src\editor\settings.lua
|
||||
["Project/&FileTree Window"] = "Ventana de proyecto/árbol de archivos", -- src\editor\menu_view.lua
|
||||
["Provide command line parameters"] = nil, -- src\editor\menu_project.lua
|
||||
["R/O"] = "R/O", -- src\editor\editor.lua
|
||||
["R/W"] = "R/W", -- src\editor\editor.lua
|
||||
["Re&place In Files"] = "Remplazar en archivos", -- src\editor\menu_search.lua
|
||||
["Recent Files"] = "Archivos recientes", -- src\editor\menu_file.lua
|
||||
["Redo last edit undone"] = "Rehacer la última edición deshecha", -- src\editor\menu_edit.lua
|
||||
["Refused a request to start a new debugging session as there is one in progress already."] = "No se pudo lanzar una nueva sesión de depuración porque ya hay una en curso.", -- src\editor\debugger.lua
|
||||
["Regular &expression"] = nil, -- src\editor\findreplace.lua
|
||||
["Remote console"] = "Consola remota", -- src\editor\shellbox.lua
|
||||
["Rename All Instances"] = nil, -- src\editor\editor.lua
|
||||
["Replace A&ll"] = nil, -- src\editor\findreplace.lua
|
||||
["Replace"] = nil, -- src\editor\findreplace.lua
|
||||
["Replaced an invalid UTF8 character with %s."] = nil, -- src\editor\commands.lua
|
||||
["Replaced"] = nil, -- src\editor\findreplace.lua
|
||||
["Replacing"] = nil, -- src\editor\findreplace.lua
|
||||
["Reset to default layout"] = "Restablecer el diseño por defecto", -- src\editor\menu_view.lua
|
||||
["Resets the dynamic word list for autocompletion"] = "Restablecer la lista dinámica de palabras para autocompletado", -- src\editor\menu_edit.lua
|
||||
["Run as Scratchpad"] = "Ejecutar como borrador", -- src\editor\menu_project.lua
|
||||
["S&top Debugging"] = "Parar depuración", -- src\editor\menu_project.lua
|
||||
["S&top Process"] = "Parar proceso", -- src\editor\menu_project.lua
|
||||
["Save &As..."] = "Guardar como...", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["Save &As..."] = "Guardar como...", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["Save A&ll"] = "Guardar todo", -- src\editor\menu_file.lua
|
||||
["Save Changes?"] = "¿Guardar cambios?", -- src\editor\commands.lua
|
||||
["Save all open documents"] = "Guardar todos los documentos abiertos", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["Save all open documents"] = "Guardar todos los documentos abiertos", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["Save file as"] = "Guardar archivo como", -- src\editor\commands.lua
|
||||
["Save file?"] = "¿Guardar archivo?", -- src\editor\commands.lua
|
||||
["Save the current document to a file with a new name"] = "Guardar el documento actual en un archivo con un nombre nuevo", -- src\editor\menu_file.lua
|
||||
["Save the current document"] = "Guardar el documento actual", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["Save the current document"] = "Guardar el documento actual", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["Saved auto-recover at %s."] = "Guardar autorrecuperación en %s.", -- src\editor\commands.lua
|
||||
["Scope"] = nil, -- src\editor\findreplace.lua
|
||||
["Scratchpad error"] = "Error en el borrador", -- src\editor\debugger.lua
|
||||
["Select &All"] = "Seleccionar todo", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["Searching for"] = nil, -- src\editor\findreplace.lua
|
||||
["Select &All"] = "Seleccionar todo", -- src\editor\menu_edit.lua, src\editor\editor.lua
|
||||
["Select all text in the editor"] = "Seleccionar todo el texto en el editor", -- src\editor\menu_edit.lua
|
||||
["Select and Find Next"] = nil, -- src\editor\menu_search.lua
|
||||
["Select and Find Previous"] = nil, -- src\editor\menu_search.lua
|
||||
["Select the word under cursor and find its next occurrence"] = nil, -- src\editor\menu_search.lua
|
||||
["Select the word under cursor and find its previous occurrence"] = nil, -- src\editor\menu_search.lua
|
||||
["Set From Current File"] = nil, -- src\editor\menu_project.lua
|
||||
["Set project directory from current file"] = "Establecer el directorio del proyecto del archivo actual", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Set project directory from current file"] = "Establecer el directorio del proyecto del archivo actual", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["Set the interpreter to be used"] = "Establecer el intérprete a ser usado", -- src\editor\menu_project.lua
|
||||
["Set the project directory to be used"] = nil, -- src\editor\menu_project.lua
|
||||
["Settings: System"] = nil, -- src\editor\menu_edit.lua
|
||||
["Settings: User"] = nil, -- src\editor\menu_edit.lua
|
||||
["Show &Tooltip"] = "Ver tooltip", -- src\editor\menu_edit.lua
|
||||
["Show Location"] = nil, -- src\editor\gui.lua, src\editor\filetree.lua
|
||||
["Show tooltip for current position; place cursor after opening bracket of function"] = "Ver tooltip para la posición actual; posicionar el cursor después de abrir el paréntisis de los argumentos de la función", -- src\editor\menu_edit.lua
|
||||
["Sort selected lines"] = "Clasificar las líneas seleccionadas", -- src\editor\menu_search.lua
|
||||
["Stack"] = nil, -- src\editor\debugger.lua
|
||||
["Sort selected lines"] = "Clasificar las líneas seleccionadas", -- src\editor\menu_edit.lua
|
||||
["Stack"] = nil, -- src\editor\debugger.lua, src\editor\gui.lua
|
||||
["Start &Debugging"] = "Comenzar depuración", -- src\editor\menu_project.lua
|
||||
["Start debugging"] = "Comenzar depuración", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Start or Continue debugging"] = nil, -- src\editor\gui.lua
|
||||
["Start or continue debugging"] = nil, -- src\editor\menu_project.lua
|
||||
["Step &Into"] = "Paso dentro", -- src\editor\menu_project.lua
|
||||
["Step &Over"] = "Paso sin entrar", -- src\editor\menu_project.lua
|
||||
["Step O&ut"] = "Paso fuera", -- src\editor\menu_project.lua
|
||||
["Step into"] = "Paso dentro", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Step out of the current function"] = "Hasta salir de la función actual", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Step over"] = "Paso sin entrar", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Stop the currently running process"] = "Parar el proceso en ejecución", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Step into"] = "Paso dentro", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["Step out of the current function"] = "Hasta salir de la función actual", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["Step over"] = "Paso sin entrar", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["Stop the currently running process"] = "Parar el proceso en ejecución", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["Switch to or from full screen mode"] = "Conmutar el modo de pantalla completa", -- src\editor\menu_view.lua
|
||||
["Text not found."] = nil, -- src\editor\findreplace.lua
|
||||
["The API file must be located in a subdirectory of the API directory."] = "El archivo de API debe ser almacenado en un subdirectorio del directorio de API.", -- src\editor\autocomplete.lua
|
||||
["Toggle Break&point"] = "Conmutar punto de ruptura", -- src\editor\menu_project.lua
|
||||
["Toggle breakpoint"] = "Conmutar punto de ruptura", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Toggle breakpoint"] = "Conmutar punto de ruptura", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["Tr&ace"] = "Traza", -- src\editor\menu_project.lua
|
||||
["Trace execution showing each executed line"] = "Traza de ejecución mostrando cada línea ejecutada", -- src\editor\menu_project.lua
|
||||
["Unable to create directory '%s'."] = nil, -- src\editor\filetree.lua
|
||||
["Unable to create file '%s'."] = nil, -- src\editor\filetree.lua
|
||||
["Unable to load file '%s'."] = "No se pudo cargar el archivo '%s'.", -- src\editor\commands.lua
|
||||
["Unable to rename file '%s'."] = nil, -- src\editor\filetree.lua
|
||||
["Unable to save file '%s': %s"] = "No se pudo guardar el archivo '%s': %s", -- src\editor\commands.lua
|
||||
["Unable to stop program (pid: %d), code %d."] = "No se puedo parar el programa (pid: %d), código %d.", -- src\editor\debugger.lua
|
||||
["Undo last edit"] = "Deshacer la última edición", -- src\editor\menu_edit.lua
|
||||
@@ -195,11 +258,13 @@ return {
|
||||
["Value"] = "Valor", -- src\editor\debugger.lua
|
||||
["View the output/console window"] = "Ver ventana de salida/consola", -- src\editor\menu_view.lua
|
||||
["View the project/filetree window"] = "Ver la ventana de proyecto/árbol de archivos", -- src\editor\menu_view.lua
|
||||
["View the stack window"] = "Ver la ventana de la pila de ejecución", -- src\editor\menu_view.lua, src\editor\gui.lua
|
||||
["View the watch window"] = "Ver la ventana de observación", -- src\editor\menu_view.lua, src\editor\gui.lua
|
||||
["Watch"] = nil, -- src\editor\debugger.lua
|
||||
["View the stack window"] = "Ver la ventana de la pila de ejecución", -- src\editor\gui.lua, src\editor\menu_view.lua
|
||||
["View the watch window"] = "Ver la ventana de observación", -- src\editor\gui.lua, src\editor\menu_view.lua
|
||||
["Watch"] = nil, -- src\editor\debugger.lua, src\editor\gui.lua
|
||||
["Welcome to the interactive Lua interpreter."] = "Bienvenido al intérprete interactico de Lua.", -- src\editor\shellbox.lua
|
||||
["Wrap ar&ound"] = nil, -- src\editor\findreplace.lua
|
||||
["You must save the program first."] = "Debes guardar el programa primero", -- src\editor\commands.lua
|
||||
["on line %d"] = "en la línea %d", -- src\editor\debugger.lua, src\editor\commands.lua
|
||||
["traced %d instruction"] = {"%d instrucción trazada", "%d instrucciones trazadas"} -- src\editor\debugger.lua
|
||||
["on line %d"] = "en la línea %d", -- src\editor\debugger.lua, src\editor\editor.lua, src\editor\commands.lua
|
||||
["traced %d instruction"] = {"%d instrucción trazada", "%d instrucciones trazadas"}, -- src\editor\debugger.lua
|
||||
["unknown error"] = nil, -- src\editor\debugger.lua
|
||||
}
|
||||
|
||||
109
cfg/i18n/fr.lua
109
cfg/i18n/fr.lua
@@ -5,11 +5,14 @@ return {
|
||||
["&About"] = "À &propos", -- src\editor\menu_help.lua
|
||||
["&Add Watch"] = "&Ajouter une expression", -- src\editor\debugger.lua
|
||||
["&Break"] = "&Interrompre", -- src\editor\menu_project.lua
|
||||
["&Close Page"] = "&Fermer la page", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["&Close Page"] = "&Fermer la page", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["&Community"] = "&Communauté", -- src\editor\menu_help.lua
|
||||
["&Compile"] = "&Compiler", -- src\editor\menu_project.lua
|
||||
["&Copy"] = "Co&pier", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["&Copy"] = "Co&pier", -- src\editor\menu_edit.lua, src\editor\editor.lua
|
||||
["&Default Layout"] = "Affichage par &défaut", -- src\editor\menu_view.lua
|
||||
["&Delete Watch"] = "&Supprimer une expression", -- src\editor\debugger.lua
|
||||
["&Delete"] = "&Supprimer", -- src\editor\filetree.lua
|
||||
["&Documentation"] = "&Documentation", -- src\editor\menu_help.lua
|
||||
["&Down"] = "Vers le &bas", -- src\editor\findreplace.lua
|
||||
["&Edit Watch"] = "&Modifier une expression", -- src\editor\debugger.lua
|
||||
["&Edit"] = "É&dition", -- src\editor\menu_edit.lua
|
||||
@@ -18,48 +21,56 @@ return {
|
||||
["&Find Next"] = "&Rechercher", -- src\editor\findreplace.lua
|
||||
["&Find"] = "&Rechercher", -- src\editor\menu_search.lua
|
||||
["&Fold/Unfold All"] = "Re&plier/Déplier tout", -- src\editor\menu_edit.lua
|
||||
["&Frequently Asked Questions"] = "&Questions Fréquemment Posées" , -- src\editor\menu_help.lua
|
||||
["&Getting Started Guide"] = "&Guide de Prise en Main", -- src\editor\menu_help.lua
|
||||
["&Goto Line"] = "&Aller à la ligne", -- src\editor\menu_search.lua
|
||||
["&Help"] = "Aid&e", -- src\editor\menu_help.lua
|
||||
["&New Directory"] = "&Nouveau Répertoire", -- src\editor\filetree.lua
|
||||
["&New"] = "&Nouveau", -- src\editor\menu_file.lua
|
||||
["&Open..."] = "&Ouvrir...", -- src\editor\menu_file.lua
|
||||
["&Output/Console Window"] = "&Sortie/Console", -- src\editor\menu_view.lua
|
||||
["&Paste"] = "Co&ller", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["&Project"] = "&Projet", -- src\editor\menu_project.lua, src\editor\inspect.lua
|
||||
["&Redo"] = "&Rétablir", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["&Paste"] = "Co&ller", -- src\editor\menu_edit.lua, src\editor\editor.lua
|
||||
["&Project Page"] = "&Site Web de ZeroBrane", -- src\editor\menu_help.lua
|
||||
["&Project"] = "&Projet", -- src\editor\inspect.lua, src\editor\menu_project.lua
|
||||
["&Redo"] = "&Rétablir", -- src\editor\menu_edit.lua, src\editor\editor.lua
|
||||
["&Rename"] = "&Renommer", -- src\editor\filetree.lua
|
||||
["&Replace All"] = "Remplacer &tout", -- src\editor\findreplace.lua
|
||||
["&Replace"] = "Re&mplacer", -- src\editor\findreplace.lua, src\editor\menu_search.lua
|
||||
["&Run"] = "&Exécuter", -- src\editor\menu_project.lua
|
||||
["&Save"] = "&Enregistrer", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["&Save"] = "&Enregistrer", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["&Search"] = "&Recherche", -- src\editor\menu_search.lua
|
||||
["&Sort"] = "&Trier", -- src\editor\menu_search.lua
|
||||
["&Sort"] = "&Trier", -- src\editor\menu_edit.lua
|
||||
["&Stack Window"] = "&Pile d'exécution", -- src\editor\menu_view.lua
|
||||
["&Start Debugger Server"] = "Lancer le &serveur de débogage", -- src\editor\menu_project.lua
|
||||
["&Subdirectories"] = "&Sous-répertoires", -- src\editor\findreplace.lua
|
||||
["&Undo"] = "&Annuler", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["&Tutorials"] = "&Tutoriels", -- src\editor\menu_help.lua
|
||||
["&Undo"] = "&Annuler", -- src\editor\menu_edit.lua, src\editor\editor.lua
|
||||
["&Up"] = "Vers le &haut", -- src\editor\findreplace.lua
|
||||
["&View"] = "&Affichage", -- src\editor\menu_view.lua
|
||||
["&Watch Window"] = "&Expressions espionnes", -- src\editor\menu_view.lua
|
||||
[".&bak on Replace"] = ".&bak avant remplacement", -- src\editor\findreplace.lua
|
||||
["About %s"] = "À propos de %s", -- src\editor\menu_help.lua
|
||||
["Add Watch Expression"] = "Ajouter une expression", -- src\editor\editor.lua
|
||||
["Add To Scratchpad"] = "Ajouter au brouillon", -- src\editor\editor.lua
|
||||
["Add Watch Expression"] = "Ajouter une expression", -- src\editor\editor.lua
|
||||
["All files"] = "Tous les fichiers", -- src\editor\commands.lua
|
||||
["Allow external process to start debugging"] = "Autoriser les processus externes à lancer le débogage", -- src\editor\menu_project.lua
|
||||
["Analyze the source code"] = "Analyser le code source", -- src\editor\inspect.lua
|
||||
["Analyze"] = "Analyser", -- src\editor\inspect.lua
|
||||
["Auto Complete Identifiers"] = "Auto-compléter les identifiants", -- src\editor\menu_edit.lua
|
||||
["Auto complete while typing"] = "Auto-compléter lors de la saisie", -- src\editor\menu_edit.lua
|
||||
["Break execution at the next executed line of code"] = "Interrompre l'exécution à la ligne suivante", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Break execution at the next executed line of code"] = "Interrompre l'exécution à la ligne suivante", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["C&lear Output Window"] = "E&ffacer la fenêtre de sortie", -- src\editor\menu_project.lua
|
||||
["C&omment/Uncomment"] = "Co&mmenter/Décommenter", -- src\editor\menu_edit.lua
|
||||
["Can't debug the script in the active editor window."] = "Impossible de déboguer le script dans la fenêtre d'édition active.", -- src\editor\debugger.lua
|
||||
["Can't find file '%s' in the current project to activate for debugging. Update the project or open the file in the editor before debugging."] = "Impossible de trouver le fichier '%s' dans le projet courant pour permettre le débogage. Mettez le projet à jour ou ouvrez le fichier dans l'éditeur avant débogage.", -- src\editor\debugger.lua
|
||||
["Can't process auto-recovery record; invalid format: %s."] = "Impossible de lire la récupération automatique ; format invalide : %s.", -- src\editor\commands.lua
|
||||
["Can't run the entry point script ('%s')."] = "Impossible d'exécuter le point d'entrée du script ('%s').", -- src\editor\debugger.lua
|
||||
["Can't start debugger server at %s:%d: %s."] = "Impossible de lancer le serveur de débogage à %s:%d: %s." , -- src\editor\debugger.lua
|
||||
["Can't start debugging session due to internal error '%s'."] = "Impossible de lancer la session de débogage : erreur interne '%s'.", -- src\editor\debugger.lua
|
||||
["Can't start debugging without an opened file or with the current file not being saved ('%s')."] = "Impossible de lancer le débogage si aucun fichier n'est ouvert ou si le fichier courant n'a pas été enregistré ('%s').", -- src\editor\debugger.lua
|
||||
["Cancel"] = "Annuler", -- src\editor\findreplace.lua
|
||||
["Choose ..."] = "Choisir...", -- src\editor\menu_project.lua
|
||||
["Cancelled by the user."] = "Annulé par l'utilisateur.", -- src\editor\findreplace.lua
|
||||
["Choose..."] = "Choisir...", -- src\editor\menu_project.lua
|
||||
["Choose a project directory"] = "Choisissez un répertoire de projet", -- src\editor\findreplace.lua, src\editor\menu_project.lua
|
||||
["Clear &Dynamic Words"] = "Effacer les mots &dynamiques", -- src\editor\menu_edit.lua
|
||||
["Clear the output window before compiling or debugging"] = "Effacer la fenêtre de sortie avant compilation ou débogage", -- src\editor\menu_project.lua
|
||||
@@ -68,26 +79,33 @@ return {
|
||||
["Close the current editor window"] = "Fermer la fenêtre d'édition active", -- src\editor\menu_file.lua
|
||||
["Co&ntinue"] = "Co&ntinuer", -- src\editor\menu_project.lua
|
||||
["Col: %d"] = "Col : %d", -- src\editor\editor.lua
|
||||
["Command Line Parameters..."] = "Paramètres de Ligne de Commande...", -- src\editor\menu_project.lua
|
||||
["Command line parameters"] = "Paramètres de ligne de commande", -- src\editor\menu_project.lua
|
||||
["Comment or uncomment current or selected lines"] = "Commenter ou décommenter les lignes courantes ou sélectionnées", -- src\editor\menu_edit.lua
|
||||
["Compilation error"] = "Erreur de compilation", -- src\editor\debugger.lua, src\editor\commands.lua
|
||||
["Compilation error"] = "Erreur de compilation", -- src\editor\commands.lua, src\editor\debugger.lua
|
||||
["Compilation successful; %.0f%% success rate (%d/%d)."] = "Compilation réussie ; taux de succès : %.0f%% (%d/%d).", -- src\editor\commands.lua
|
||||
["Compile the current file"] = "Сompiler le fichier courant", -- src\editor\menu_project.lua
|
||||
["Complete &Identifier"] = "Compléter l'&identifiant", -- src\editor\menu_edit.lua
|
||||
["Complete the current identifier"] = "Compléter l'identifiant courant", -- src\editor\menu_edit.lua
|
||||
["Consider removing backslash from escape sequence '%s'."] = "Essayez de supprimer les antislashs dans '%s'.", -- src\editor\commands.lua
|
||||
["Copy Full Path"] = "Copier le chemin absolu", -- src\editor\filetree.lua
|
||||
["Copy selected text to clipboard"] = "Copier le texte sélectionné dans le presse-papiers", -- src\editor\menu_edit.lua
|
||||
["Couldn't activate file '%s' for debugging; continuing without it."] = "Impossible d'activer le fichier '%s' pour débogage ; poursuite du processus en ignorant le fichier.", -- src\editor\debugger.lua
|
||||
["Create an empty document"] = "Créer un document vierge", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["Cu&t"] = "&Couper", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["Create an empty document"] = "Créer un document vierge", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["Cu&t"] = "&Couper", -- src\editor\menu_edit.lua, src\editor\editor.lua
|
||||
["Cut selected text to clipboard"] = "Couper le texte sélectionné et copier dans le presse-papiers", -- src\editor\menu_edit.lua
|
||||
["Debugger server started at %s:%d."] = "Serveur de débogage démarré à %s:%d.", -- src\editor\debugger.lua
|
||||
["Debugging session completed (%s)."] = "Session de débogage terminée (%s).", -- src\editor\debugger.lua
|
||||
["Debugging session started in '%s'."] = "Session de débogage démarrée dans '%s'.", -- src\editor\debugger.lua
|
||||
["Debugging suspended at %s:%s (couldn't activate the file)."] = "Débogage interrompu à %s:%s (impossible d'activer le fichier).", -- src\editor\debugger.lua
|
||||
["Directory"] = "Répertoire ", -- src\editor\findreplace.lua
|
||||
["Do you want to delete '%s'?"] = "Voulez-vous effacer '%s'?", -- src\editor\filetree.lua
|
||||
["Do you want to overwrite it?"] = "Voulez-vous l'écraser?", -- src\editor\commands.lua
|
||||
["Do you want to reload it?"] = "Voulez-vous le recharger ?", -- src\editor\editor.lua
|
||||
["Do you want to save the changes to '%s'?"] = "Voulez-vous enregistrer les modifications dans '%s' ?", -- src\editor\commands.lua
|
||||
["E&xit"] = "&Quitter", -- src\editor\menu_file.lua
|
||||
["Enter Lua code and press Enter to run it."] = "Saisissez du code Lua et appuyez sur <Entrée> pour l´exécuter.", -- src\editor\shellbox.lua
|
||||
["Enter command line parameters (use Cancel to clear)"] = "Entrez des paramètres de ligne de commande (pressez Annuler pour effacer)", -- src\editor\menu_project.lua
|
||||
["Enter line number"] = "Entrez le numéro de ligne", -- src\editor\menu_search.lua
|
||||
["Error while loading API file: %s"] = "Erreur lors du chargement du fichier d'API : %s", -- src\editor\autocomplete.lua
|
||||
["Error while loading configuration file: %s"] = "Erreur lors du chargement du fichier de configuration : %s", -- src\editor\style.lua
|
||||
@@ -103,17 +121,18 @@ return {
|
||||
["Expression"] = "Expression", -- src\editor\debugger.lua
|
||||
["File '%s' has been modified on disk."] = "Le fichier '%s' a été modifié sur le disque.", -- src\editor\editor.lua
|
||||
["File '%s' has more recent timestamp than restored '%s'; please review before saving."] = "Le fichier '%s' a un horodatage plus récent que celui restauré '%s' ; veuillez vérifier avant d'enregistrer.", -- src\editor\commands.lua
|
||||
["File '%s' no longer exists."] = "Le fichier '%s' n'existe plus.", -- src\editor\editor.lua, src\editor\menu_file.lua
|
||||
["File '%s' no longer exists."] = "Le fichier '%s' n'existe plus.", -- src\editor\menu_file.lua, src\editor\editor.lua
|
||||
["File Type"] = "Type de fichier ", -- src\editor\findreplace.lua
|
||||
["File already exists."] = "Le fichier existe déjà.", -- src\editor\commands.lua
|
||||
["File history"] = "Historique de fichier", -- src\editor\menu_file.lua
|
||||
["Find &In Files"] = "Rec&hercher dans les fichiers", -- src\editor\menu_search.lua
|
||||
["Find &Next"] = "Rechercher l'occurrence &suivante", -- src\editor\menu_search.lua
|
||||
["Find &Previous"] = "Rechercher l'occurrence &précédente", -- src\editor\menu_search.lua
|
||||
["Find In Files"] = "Rechercher dans les fichiers", -- src\editor\findreplace.lua
|
||||
["Find and replace text in files"] = "Rechercher et remplacer le texte dans les fichiers", -- src\editor\menu_search.lua
|
||||
["Find and replace text"] = "Rechercher et remplacer le texte", -- src\editor\menu_search.lua, src\editor\gui.lua
|
||||
["Find and replace text"] = "Rechercher et remplacer le texte", -- src\editor\gui.lua, src\editor\menu_search.lua
|
||||
["Find text in files"] = "Rechercher le texte dans les fichiers", -- src\editor\menu_search.lua
|
||||
["Find text"] = "Rechercher le texte", -- src\editor\menu_search.lua, src\editor\gui.lua
|
||||
["Find text"] = "Rechercher le texte", -- src\editor\gui.lua, src\editor\menu_search.lua
|
||||
["Find the earlier text occurence"] = "Recherche l'occurrence précédente du texte", -- src\editor\menu_search.lua
|
||||
["Find the next text occurrence"] = "Recherche l'occurrence suivante du texte", -- src\editor\menu_search.lua
|
||||
["Find"] = "Rechercher ", -- src\editor\findreplace.lua
|
||||
@@ -129,18 +148,20 @@ return {
|
||||
["Jump to a function definition..."] = "Aller à la définition de fonction...", -- src\editor\editor.lua
|
||||
["Known Files"] = "Fichiers connus", -- src\editor\commands.lua
|
||||
["Ln: %d"] = "Lig : %d", -- src\editor\editor.lua
|
||||
["Local console"] = "Console locale", -- src\editor\shellbox.lua, src\editor\gui.lua
|
||||
["Local console"] = "Console locale", -- src\editor\gui.lua, src\editor\shellbox.lua
|
||||
["Lua &Interpreter"] = "Interpréteur L&ua", -- src\editor\menu_project.lua
|
||||
["Mapped remote request for '%s' to '%s'."] = "La requête distante pour '%s' a été associée à '%s'.", -- src\editor\debugger.lua
|
||||
["Match &case"] = "Respecter la &casse", -- src\editor\findreplace.lua
|
||||
["Match &whole word"] = "&Mot entier uniquement", -- src\editor\findreplace.lua
|
||||
["Mixed end-of-line encodings detected."] = "Plusieurs codages de fin de ligne détectés.", -- src\editor\commands.lua
|
||||
["New &File"] = "Nouveau &Fichier", -- src\editor\filetree.lua
|
||||
["OVR"] = "OVR", -- src\editor\editor.lua
|
||||
["Open an existing document"] = "Ouvrir un document existant", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["Open With Default Program"] = "Ouvrir avec le programme par défaut", -- src\editor\filetree.lua
|
||||
["Open an existing document"] = "Ouvrir un document existant", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["Open file"] = "Ouvrir un fichier", -- src\editor\commands.lua
|
||||
["Options"] = "Options", -- src\editor\findreplace.lua
|
||||
["Output (running)"] = "Sortie (en cours d'exécution)", -- src\editor\output.lua
|
||||
["Output"] = "Sortie", -- src\editor\output.lua, src\editor\settings.lua, src\editor\gui.lua
|
||||
["Output"] = "Sortie", -- src\editor\gui.lua, src\editor\output.lua, src\editor\settings.lua
|
||||
["Paste text from the clipboard"] = "Coller le texte depuis le presse-papiers", -- src\editor\menu_edit.lua
|
||||
["Preferences"] = "Préférences", -- src\editor\menu_edit.lua
|
||||
["Prepend '=' to show complex values on multiple lines."] = "Préfixez par '=' pour afficher les valeurs complexes sur plusieurs lignes.", -- src\editor\shellbox.lua
|
||||
@@ -152,8 +173,9 @@ return {
|
||||
["Program stopped (pid: %d)."] = "Programme stoppé (pid : %d).", -- src\editor\debugger.lua
|
||||
["Program unable to run as '%s'."] = "Impossible d'exécuter le programme en tant que '%s'.", -- src\editor\output.lua
|
||||
["Project Directory"] = "Répertoire de projet", -- src\editor\menu_project.lua
|
||||
["Project"] = "Projet", -- src\editor\settings.lua, src\editor\gui.lua
|
||||
["Project"] = "Projet", -- src\editor\gui.lua, src\editor\settings.lua
|
||||
["Project/&FileTree Window"] = "&Explorateur de projet", -- src\editor\menu_view.lua
|
||||
["Provide command line parameters"] = "Renseignez les paramètres de ligne de commande", -- src\editor\menu_project.lua
|
||||
["R/O"] = "R/O", -- src\editor\editor.lua
|
||||
["R/W"] = "R/W", -- src\editor\editor.lua
|
||||
["Re&place In Files"] = "Remp&lacer dans les fichiers", -- src\editor\menu_search.lua
|
||||
@@ -173,22 +195,26 @@ return {
|
||||
["Run as Scratchpad"] = "Exécuter comme brouillon", -- src\editor\menu_project.lua
|
||||
["S&top Debugging"] = "&Arrêter le débogage", -- src\editor\menu_project.lua
|
||||
["S&top Process"] = "&Arrêter le processus", -- src\editor\menu_project.lua
|
||||
["Save &As..."] = "Enregistrer &sous...", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["Save &As..."] = "Enregistrer &sous...", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["Save A&ll"] = "Enregistrer &tout", -- src\editor\menu_file.lua
|
||||
["Save Changes?"] = "Enregistrer les modifications ?", -- src\editor\commands.lua
|
||||
["Save all open documents"] = "Enregistrer tous les documents ouverts", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["Save all open documents"] = "Enregistrer tous les documents ouverts", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["Save file as"] = "Enregistrer le fichier sous", -- src\editor\commands.lua
|
||||
["Save file?"] = "Enregistrer le fichier ?", -- src\editor\commands.lua
|
||||
["Save the current document to a file with a new name"] = "Enregistrer le document courant sous un nouveau nom", -- src\editor\menu_file.lua
|
||||
["Save the current document"] = "Enregistrer le document courant", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["Save the current document"] = "Enregistrer le document courant", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["Saved auto-recover at %s."] = "Récup. auto enregistrée à %s.", -- src\editor\commands.lua
|
||||
["Scope"] = "Direction", -- src\editor\findreplace.lua
|
||||
["Scratchpad error"] = "Erreur dans le brouillon", -- src\editor\debugger.lua
|
||||
["Searching for"] = "Recherche de", -- src\editor\findreplace.lua
|
||||
["Select &All"] = "Sélectionner &tout", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["Select &All"] = "Sélectionner &tout", -- src\editor\menu_edit.lua, src\editor\editor.lua
|
||||
["Select all text in the editor"] = "Sélectionner tout le texte dans l'éditeur", -- src\editor\menu_edit.lua
|
||||
["Select and Find Next"] = "Sélectionner et chercher le suivant", -- src\editor\menu_search.lua
|
||||
["Select and Find Previous"] = "Sélectionner et chercher le précédent", -- src\editor\menu_search.lua
|
||||
["Select the word under cursor and find its next occurrence"] = "Sélectionner le mot sous le curseur et chercher son occurence suivante", -- src\editor\menu_search.lua
|
||||
["Select the word under cursor and find its previous occurrence"] = "Sélectionner le mot sous le curseur et chercher son occurence précédente", -- src\editor\menu_search.lua
|
||||
["Set From Current File"] = "Définir depuis le fichier courant", -- src\editor\menu_project.lua
|
||||
["Set project directory from current file"] = "Définir le répertoire de projet depuis le fichier courant", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Set project directory from current file"] = "Définir le répertoire de projet depuis le fichier courant", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["Set the interpreter to be used"] = "Définir l'interpréteur à utiliser", -- src\editor\menu_project.lua
|
||||
["Set the project directory to be used"] = "Définir le répertoire de projet à utiliser", -- src\editor\menu_project.lua
|
||||
["Settings: System"] = "Paramètres : Système", -- src\editor\menu_edit.lua
|
||||
@@ -196,25 +222,29 @@ return {
|
||||
["Show &Tooltip"] = "Afficher l'info-&bulle", -- src\editor\menu_edit.lua
|
||||
["Show Location"] = "Afficher l'emplacement", -- src\editor\gui.lua, src\editor\filetree.lua
|
||||
["Show tooltip for current position; place cursor after opening bracket of function"] = "Afficher l'info-bulle pour la position actuelle ; placez le curseur après la parenthèse ouvrante de la fonction", -- src\editor\menu_edit.lua
|
||||
["Sort selected lines"] = "Trier les lignes sélectionnées", -- src\editor\menu_search.lua
|
||||
["Stack"] = "Pile d'exécution", -- src\editor\debugger.lua
|
||||
["Sort selected lines"] = "Trier les lignes sélectionnées", -- src\editor\menu_edit.lua
|
||||
["Stack"] = "Pile d'exécution", -- src\editor\debugger.lua, src\editor\gui.lua
|
||||
["Start &Debugging"] = "Lancer le &débogage", -- src\editor\menu_project.lua
|
||||
["Start debugging"] = "Lancer le débogage", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Start or Continue debugging"] = "Démarrer ou Continuer le debogage", -- src\editor\gui.lua
|
||||
["Start or continue debugging"] = "Démarrer ou continuer le debogage", -- src\editor\menu_project.lua
|
||||
["Step &Into"] = "Pas à pas détai&llé", -- src\editor\menu_project.lua
|
||||
["Step &Over"] = "Pas à pas so&mmaire", -- src\editor\menu_project.lua
|
||||
["Step O&ut"] = "Pas à pas so&rtant", -- src\editor\menu_project.lua
|
||||
["Step into"] = "Rentrer dans l'instruction suivante", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Step out of the current function"] = "Sortir de la fonction courante", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Step over"] = "Enjamber l'instruction suivante", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Stop the currently running process"] = "Arrêter le processus en cours d'exécution", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Step into"] = "Rentrer dans l'instruction suivante", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["Step out of the current function"] = "Sortir de la fonction courante", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["Step over"] = "Enjamber l'instruction suivante", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["Stop the currently running process"] = "Arrêter le processus en cours d'exécution", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["Switch to or from full screen mode"] = "Activer ou désactiver le mode plein écran", -- src\editor\menu_view.lua
|
||||
["Text not found."] = "Texte non trouvé.", -- src\editor\findreplace.lua
|
||||
["The API file must be located in a subdirectory of the API directory."] = "Le fichier d'API doit être placé dans un sous-répertoire du répertoire d'API.", -- src\editor\autocomplete.lua
|
||||
["Toggle Break&point"] = "Créer/Supprimer un &point d'arrêt", -- src\editor\menu_project.lua
|
||||
["Toggle breakpoint"] = "Créer ou supprimer un point d'arrêt", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Toggle breakpoint"] = "Créer ou supprimer un point d'arrêt", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["Tr&ace"] = "&Tracer", -- src\editor\menu_project.lua
|
||||
["Trace execution showing each executed line"] = "Tracer l'exécution en montrant chaque ligne de code exécutée", -- src\editor\menu_project.lua
|
||||
["Unable to create directory '%s'."] = "Impossible de créer le répertoire '%s'.", -- src\editor\filetree.lua
|
||||
["Unable to create file '%s'."] = "Impossible de créer le fichier '%s'.", -- src\editor\filetree.lua
|
||||
["Unable to load file '%s'."] = "Impossible de charger le le fichier '%s'.", -- src\editor\commands.lua
|
||||
["Unable to rename file '%s'."] = "Impossible de renommer le fichier '%s'.", -- src\editor\filetree.lua
|
||||
["Unable to save file '%s': %s"] = "Impossible d'enregistrer le fichier '%s' : %s", -- src\editor\commands.lua
|
||||
["Unable to stop program (pid: %d), code %d."] = "Impossible d'arrêter le programme (pid : %d), code %d.", -- src\editor\debugger.lua
|
||||
["Undo last edit"] = "Annuler la dernière modification", -- src\editor\menu_edit.lua
|
||||
@@ -225,12 +255,13 @@ return {
|
||||
["Value"] = "Valeur", -- src\editor\debugger.lua
|
||||
["View the output/console window"] = "Afficher la fenêtre de sortie/console", -- src\editor\menu_view.lua
|
||||
["View the project/filetree window"] = "Afficher la fenêtre d'explorateur de projet", -- src\editor\menu_view.lua
|
||||
["View the stack window"] = "Afficher la fenêtre de pile d'exécution", -- src\editor\menu_view.lua, src\editor\gui.lua
|
||||
["View the watch window"] = "Afficher la fenêtre d'expressions espionnes", -- src\editor\menu_view.lua, src\editor\gui.lua
|
||||
["Watch"] = "Expressions espionnes", -- src\editor\debugger.lua
|
||||
["View the stack window"] = "Afficher la fenêtre de pile d'exécution", -- src\editor\gui.lua, src\editor\menu_view.lua
|
||||
["View the watch window"] = "Afficher la fenêtre d'expressions espionnes", -- src\editor\gui.lua, src\editor\menu_view.lua
|
||||
["Watch"] = "Expressions espionnes", -- src\editor\debugger.lua, src\editor\gui.lua
|
||||
["Welcome to the interactive Lua interpreter."] = "Bienvenue dans l´interpréteur interactif Lua.", -- src\editor\shellbox.lua
|
||||
["Wrap ar&ound"] = "B&oucler", -- src\editor\findreplace.lua
|
||||
["You must save the program first."] = "Vous devez d'abord enregistrer le programme.", -- src\editor\commands.lua
|
||||
["on line %d"] = "à la ligne %d", -- src\editor\debugger.lua, src\editor\commands.lua, src\editor\editor.lua
|
||||
["traced %d instruction"] = {"%d instruction tracée", "%d instructions tracées"} -- src\editor\debugger.lua
|
||||
["on line %d"] = "à la ligne %d", -- src\editor\debugger.lua, src\editor\editor.lua, src\editor\commands.lua
|
||||
["traced %d instruction"] = {"%d instruction tracée", "%d instructions tracées"}, -- src\editor\debugger.lua
|
||||
["unknown error"] = "erreur inconnue", -- src\editor\debugger.lua
|
||||
}
|
||||
|
||||
153
cfg/i18n/it.lua
153
cfg/i18n/it.lua
@@ -1,82 +1,111 @@
|
||||
return {
|
||||
[0] = function(c) return c == 1 and 1 or 2 end, -- plural
|
||||
["%d instance"] = {"%d occorrenza", "%d occorrenze"}, -- src\editor\findreplace.lua
|
||||
["%s event failed: %s"] = "L'evento %s è fallito : %s", -- src\editor\package.lua
|
||||
["&About"] = "Informazioni", -- src\editor\menu_help.lua
|
||||
["&Add Watch"] = "&Aggiungi Espressione di Controllo", -- src\editor\debugger.lua
|
||||
["&Break"] = "Interrompi", -- src\editor\menu_project.lua
|
||||
["&Close Page"] = "&Chiudi pagina", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["&Close Page"] = "&Chiudi pagina", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["&Community"] = "&Comunità", -- src\editor\menu_help.lua
|
||||
["&Compile"] = "&Compila", -- src\editor\menu_project.lua
|
||||
["&Copy"] = "&Copia", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["&Copy"] = "&Copia", -- src\editor\menu_edit.lua, src\editor\editor.lua
|
||||
["&Default Layout"] = "Visualizzazione di &Default", -- src\editor\menu_view.lua
|
||||
["&Delete Watch"] = "Elimina Espressione di Controllo", -- src\editor\debugger.lua
|
||||
["&Delete"] = "Elimina", -- src\editor\filetree.lua
|
||||
["&Documentation"] = "Documentazione", -- src\editor\menu_help.lua
|
||||
["&Down"] = "Verso il basso", -- src\editor\findreplace.lua
|
||||
["&Edit Watch"] = "Modifica Espressione di Controllo", -- src\editor\debugger.lua
|
||||
["&Edit"] = "Modifica", -- src\editor\menu_edit.lua
|
||||
["&File"] = "File", -- src\editor\menu_file.lua
|
||||
["&Find All"] = "Trova Tutti", -- src\editor\findreplace.lua
|
||||
["&Find Next"] = "Trova Successivo", -- src\editor\findreplace.lua
|
||||
["&Find"] = "Ricerca", -- src\editor\menu_search.lua
|
||||
["&Fold/Unfold All"] = "Apri/Chiudi tutto", -- src\editor\menu_edit.lua
|
||||
["&Frequently Asked Questions"] = "Domande &Frequenti", -- src\editor\menu_help.lua
|
||||
["&Getting Started Guide"] = "&Guida Introduttiva", -- src\editor\menu_help.lua
|
||||
["&Goto Line"] = "Vai a riga", -- src\editor\menu_search.lua
|
||||
["&Help"] = "Aiuto", -- src\editor\menu_help.lua
|
||||
["&New Directory"] = "&Nuova Directory", -- src\editor\filetree.lua
|
||||
["&New"] = "&Nuovo", -- src\editor\menu_file.lua
|
||||
["&Open..."] = "&Apri...", -- src\editor\menu_file.lua
|
||||
["&Output/Console Window"] = "Finestra di Output/Console", -- src\editor\menu_view.lua
|
||||
["&Paste"] = "Incolla", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["&Project"] = "&Progetto", -- src\editor\menu_project.lua, src\editor\inspect.lua
|
||||
["&Redo"] = "&Ripeti", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["&Replace"] = "Sostituisci", -- src\editor\menu_search.lua
|
||||
["&Paste"] = "Incolla", -- src\editor\menu_edit.lua, src\editor\editor.lua
|
||||
["&Project Page"] = "&Pagina di Progetto", -- src\editor\menu_help.lua
|
||||
["&Project"] = "&Progetto", -- src\editor\inspect.lua, src\editor\menu_project.lua
|
||||
["&Redo"] = "&Ripeti", -- src\editor\menu_edit.lua, src\editor\editor.lua
|
||||
["&Rename"] = "&Rinomina", -- src\editor\filetree.lua
|
||||
["&Replace All"] = "Sostituisci Tutti", -- src\editor\findreplace.lua
|
||||
["&Replace"] = "Sostituisci", -- src\editor\findreplace.lua, src\editor\menu_search.lua
|
||||
["&Run"] = "Lancia", -- src\editor\menu_project.lua
|
||||
["&Save"] = "&Salva", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["&Save"] = "&Salva", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["&Search"] = "Ricerca", -- src\editor\menu_search.lua
|
||||
["&Sort"] = "Ordina", -- src\editor\menu_search.lua
|
||||
["&Sort"] = "Ordina", -- src\editor\menu_edit.lua
|
||||
["&Stack Window"] = "Stack di chiamate", -- src\editor\menu_view.lua
|
||||
["&Start Debugger Server"] = "Avvia Debugger Server", -- src\editor\menu_project.lua
|
||||
["&Undo"] = "Annulla", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["&Subdirectories"] = "Sotto Directory", -- src\editor\findreplace.lua
|
||||
["&Tutorials"] = "Guide", -- src\editor\menu_help.lua
|
||||
["&Undo"] = "Annulla", -- src\editor\menu_edit.lua, src\editor\editor.lua
|
||||
["&Up"] = "Verso l'alto", -- src\editor\findreplace.lua
|
||||
["&View"] = "Visualizza", -- src\editor\menu_view.lua
|
||||
["&Watch Window"] = "Finestra Espressioni di Controllo", -- src\editor\menu_view.lua
|
||||
[".&bak on Replace"] = ".bak su Sostituisci", -- src\editor\findreplace.lua
|
||||
["About %s"] = "Informazioni su %s", -- src\editor\menu_help.lua
|
||||
["Add Watch Expression"] = "Aggiungi Espressione di Controllo", -- src\editor\editor.lua
|
||||
["Add To Scratchpad"] = "Aggiungi a Scratchpad ", -- src\editor\editor.lua
|
||||
["Add Watch Expression"] = "Aggiungi Espressione di Controllo", -- src\editor\editor.lua
|
||||
["All files"] = "Tutti i files", -- src\editor\commands.lua
|
||||
["Allow external process to start debugging"] = "Permetti a processi esterni di avviare il debug", -- src\editor\menu_project.lua
|
||||
["Analyze the source code"] = "Analizza il codice", -- src\editor\inspect.lua
|
||||
["Analyze"] = "Analizza", -- src\editor\inspect.lua
|
||||
["Auto Complete Identifiers"] = "Autocompletamento identificatori", -- src\editor\menu_edit.lua
|
||||
["Auto complete while typing"] = "Autocompletamento in linea", -- src\editor\menu_edit.lua
|
||||
["Break execution at the next executed line of code"] = "Interrompi l'esecuzione alla successiva riga di codice ", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Break execution at the next executed line of code"] = "Interrompi l'esecuzione alla successiva riga di codice ", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["C&lear Output Window"] = "Pulisci finestra di output", -- src\editor\menu_project.lua
|
||||
["C&omment/Uncomment"] = "Commenta/Scommenta", -- src\editor\menu_edit.lua
|
||||
["Can't debug the script in the active editor window."] = "Impossibile farte debug dello script nella finestra attiva", -- src\editor\debugger.lua
|
||||
["Can't find file '%s' in the current project to activate for debugging. Update the project or open the file in the editor before debugging."] = "File '%s' non trovato nel progetto per attivare il debug. Modificare il progetto o apire il file prima di lanciare il debug.", -- src\editor\debugger.lua
|
||||
["Can't process auto-recovery record; invalid format: %s."] = "Impossibile procedere all'auto-recovery; Formato non valido: %s.", -- src\editor\commands.lua
|
||||
["Can't run the entry point script ('%s')."] = "Impossibile eseguire il punto di ingresos dello script (%s).", -- src\editor\debugger.lua
|
||||
["Can't start debugger server at %s:%d: %s."] = "Impossibile lanciare il server debugger a %s:%d: %s.", -- src\editor\debugger.lua
|
||||
["Can't start debugging session due to internal error '%s'."] = "Impossibile lanciare la sessione di debug: errore interno '%s'.'", -- src\editor\debugger.lua
|
||||
["Can't start debugging without an opened file or with the current file not being saved ('%s')."] = "Impossibile lanciare il debug senza aver aperto un file o se il file corrente non è stato salvato ('%s').", -- src\editor\debugger.lua
|
||||
["Choose ..."] = "Scegli...", -- src\editor\menu_project.lua
|
||||
["Choose a project directory"] = "Scegli la directory di un progetto", -- src\editor\menu_project.lua
|
||||
["Clear &Dynamic Words"] = "Elimna le &Dynamic Words", -- src\editor\menu_edit.lua
|
||||
["Cancel"] = "Annulla", -- src\editor\findreplace.lua
|
||||
["Cancelled by the user."] = "Annullato dall'utente", -- src\editor\findreplace.lua
|
||||
["Choose..."] = "Scegli...", -- src\editor\menu_project.lua
|
||||
["Choose a project directory"] = "Scegli la directory di un progetto", -- src\editor\findreplace.lua, src\editor\menu_project.lua
|
||||
["Clear &Dynamic Words"] = "Elimina le &Dynamic Words", -- src\editor\menu_edit.lua
|
||||
["Clear the output window before compiling or debugging"] = "Pulisci la finestra di output prima di compilare o lanciare debug", -- src\editor\menu_project.lua
|
||||
["Close &Other Pages"] = "Chidi le Altre Pagine", -- src\editor\gui.lua
|
||||
["Close A&ll Pages"] = "Chiudi Tutte le Pagine", -- src\editor\gui.lua
|
||||
["Close the current editor window"] = "Chiude la finestra dell'edit corrente", -- src\editor\menu_file.lua
|
||||
["Co&ntinue"] = "Co&ntinua", -- src\editor\menu_project.lua
|
||||
["Col: %d"] = "Col: %d", -- src\editor\editor.lua
|
||||
["Command Line Parameters..."] = "Parametri Riga di Comando...", -- src\editor\menu_project.lua
|
||||
["Command line parameters"] = "Parametri Riga di Comando", -- src\editor\menu_project.lua
|
||||
["Comment or uncomment current or selected lines"] = "Commenta o scommenta la linea corrente o selezionat", -- src\editor\menu_edit.lua
|
||||
["Compilation error"] = "Errore di compilazione", -- src\editor\debugger.lua, src\editor\commands.lua
|
||||
["Compilation error"] = "Errore di compilazione", -- src\editor\commands.lua, src\editor\debugger.lua
|
||||
["Compilation successful; %.0f%% success rate (%d/%d)."] = "Compilazione riuscita; tasso di successo : %.0f%% (%d/%d).", -- src\editor\commands.lua
|
||||
["Compile the current file"] = "Compila il file corrente", -- src\editor\menu_project.lua
|
||||
["Complete &Identifier"] = "Completa l'&Identificatore", -- src\editor\menu_edit.lua
|
||||
["Complete the current identifier"] = "Completa l'identificatore corrente", -- src\editor\menu_edit.lua
|
||||
["Consider removing backslash from escape sequence '%s'."] = "Prova a rimuovere i backslash dalla sequenza di escape '%s'.", -- src\editor\commands.lua
|
||||
["Copy Full Path"] = "Copia Path Completo", -- src\editor\filetree.lua
|
||||
["Copy selected text to clipboard"] = "Copia il testo selezionato negli appunti", -- src\editor\menu_edit.lua
|
||||
["Couldn't activate file '%s' for debugging; continuing without it."] = "Impossibile attivare il file '%s' per debug; si prosegue senza.", -- src\editor\debugger.lua
|
||||
["Create an empty document"] = "Crea un documento vuoto", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["Cu&t"] = "&Taglia", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["Create an empty document"] = "Crea un documento vuoto", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["Cu&t"] = "&Taglia", -- src\editor\menu_edit.lua, src\editor\editor.lua
|
||||
["Cut selected text to clipboard"] = "Taglia il testo selezionato e mette negli appunti", -- src\editor\menu_edit.lua
|
||||
["Debugger server started at %s:%d."] = "Server Debugger iniziato %s:%s", -- src\editor\debugger.lua
|
||||
["Debugging session completed (%s)."] = "Sessione di debug completata (%s).", -- src\editor\debugger.lua
|
||||
["Debugging session started in '%s'."] = "Sessione di debug iniziata da '%s'.", -- src\editor\debugger.lua
|
||||
["Debugging suspended at %s:%s (couldn't activate the file)."] = "Debug sospeso a %s:%s (impossibile attivare il file).", -- src\editor\debugger.lua
|
||||
["Directory"] = "Directory", -- src\editor\findreplace.lua
|
||||
["Do you want to delete '%s'?"] = "Vuoi eliminare '%s'?", -- src\editor\filetree.lua
|
||||
["Do you want to overwrite it?"] = "Vuoi sovrascrivere '%s'?", -- src\editor\commands.lua
|
||||
["Do you want to reload it?"] = "Vuoi ricaricarlo?", -- src\editor\editor.lua
|
||||
["Do you want to save the changes to '%s'?"] = "Vuoi salvare le modifiche a '%s'?", -- src\editor\commands.lua
|
||||
["E&xit"] = "Uscita", -- src\editor\menu_file.lua
|
||||
["Enter Lua code and press Enter to run it."] = "Inserisci codice Lua e premi <Enter> per eseguirlo.", -- src\editor\shellbox.lua
|
||||
["Enter command line parameters (use Cancel to clear)"] = "Inserisci i parametri riga di comando (Annulla per pulire)", -- src\editor\menu_project.lua
|
||||
["Enter line number"] = "Inserisci il numero di linea", -- src\editor\menu_search.lua
|
||||
["Error while loading API file: %s"] = "Errore durante il caricamento del file API: %s", -- src\editor\autocomplete.lua
|
||||
["Error while loading configuration file: %s"] = "Errore nel caricamento del file di configurazione: %s", -- src\editor\style.lua
|
||||
@@ -92,36 +121,49 @@ return {
|
||||
["Expression"] = "Espressione", -- src\editor\debugger.lua
|
||||
["File '%s' has been modified on disk."] = "Il file '%s' e' stato modificato sul disco.", -- src\editor\editor.lua
|
||||
["File '%s' has more recent timestamp than restored '%s'; please review before saving."] = "Il file '%s' ha un timestamp più recente di quello ripristinato '%s'; verificare prima di salvare.", -- src\editor\commands.lua
|
||||
["File '%s' no longer exists."] = "Il file '%s' non esiste piu'.", -- src\editor\editor.lua
|
||||
["File '%s' no longer exists."] = "Il file '%s' non esiste piu'.", -- src\editor\menu_file.lua, src\editor\editor.lua
|
||||
["File Type"] = "File Type", -- src\editor\findreplace.lua
|
||||
["File already exists."] = "Il file esiste già.", -- src\editor\commands.lua
|
||||
["File history"] = "Storia del file", -- src\editor\menu_file.lua
|
||||
["Find &In Files"] = "Ricerca nei files", -- src\editor\menu_search.lua
|
||||
["Find &Next"] = "Cerca il successivo", -- src\editor\menu_search.lua
|
||||
["Find &Previous"] = "Cerca il precedente", -- src\editor\menu_search.lua
|
||||
["Find In Files"] = "Ricerca nei Files", -- src\editor\findreplace.lua
|
||||
["Find and replace text in files"] = "Cerca e sostituisci testo nei files", -- src\editor\menu_search.lua
|
||||
["Find and replace text"] = "Cerca e sostituisci testo", -- src\editor\menu_search.lua, src\editor\gui.lua
|
||||
["Find and replace text"] = "Cerca e sostituisci testo", -- src\editor\gui.lua, src\editor\menu_search.lua
|
||||
["Find text in files"] = "Cerca testo nei files", -- src\editor\menu_search.lua
|
||||
["Find text"] = "Cerca testo", -- src\editor\menu_search.lua, src\editor\gui.lua
|
||||
["Find text"] = "Cerca testo", -- src\editor\gui.lua, src\editor\menu_search.lua
|
||||
["Find the earlier text occurence"] = "Cerca la precedente occorrenza nel testo", -- src\editor\menu_search.lua
|
||||
["Find the next text occurrence"] = "Cerca la successiva occorrenza nel testo", -- src\editor\menu_search.lua
|
||||
["Find"] = "Ricerca", -- src\editor\findreplace.lua
|
||||
["Fold or unfold all code folds"] = "Apri o chiudi tutti i blocchi di codice", -- src\editor\menu_edit.lua
|
||||
["Found auto-recovery record and restored saved session."] = "Trovato punto di auto-revcovery e ripristinata la sessione salvata", -- src\editor\commands.lua
|
||||
["Full &Screen"] = "Schermo pieno", -- src\editor\menu_view.lua
|
||||
["Found"] = "Occorrenze trovate:", -- src\editor\findreplace.lua
|
||||
["Full &Screen"] = "Schermo intero", -- src\editor\menu_view.lua
|
||||
["Go To Definition"] = "Vai a Definizione", -- src\editor\editor.lua
|
||||
["Go to a selected line"] = "Vai alla riga selezionata", -- src\editor\menu_search.lua
|
||||
["Goto Line"] = "Vai alla riga", -- src\editor\menu_search.lua
|
||||
["INS"] = "INS", -- src\editor\editor.lua
|
||||
["In Files"] = "Nei Files", -- src\editor\findreplace.lua
|
||||
["Jump to a function definition..."] = "Salta alla definizione della funzione...", -- src\editor\editor.lua
|
||||
["Known Files"] = "Files conosciuti", -- src\editor\commands.lua
|
||||
["Ln: %d"] = "Ln: %d", -- src\editor\editor.lua
|
||||
["Local console"] = "Console locale", -- src\editor\shellbox.lua, src\editor\gui.lua
|
||||
["Local console"] = "Console locale", -- src\editor\gui.lua, src\editor\shellbox.lua
|
||||
["Lua &Interpreter"] = "&Interprete Lua", -- src\editor\menu_project.lua
|
||||
["Mapped remote request for '%s' to '%s'."] = "Richiesta remota '%s' mappata su '%s'.", -- src\editor\debugger.lua
|
||||
["Match &case"] = "Maiuscole/Minuscole", -- src\editor\findreplace.lua
|
||||
["Match &whole word"] = "Intera parola", -- src\editor\findreplace.lua
|
||||
["Mixed end-of-line encodings detected."] = "Trovata codifica Fine-Riga mista.", -- src\editor\commands.lua
|
||||
["New &File"] = "Nuovo &File", -- src\editor\filetree.lua
|
||||
["OVR"] = "OVR", -- src\editor\editor.lua
|
||||
["Open an existing document"] = "Apri un documento esistente", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["Open With Default Program"] = "Apri con programma predefinito", -- src\editor\filetree.lua
|
||||
["Open an existing document"] = "Apri un documento esistente", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["Open file"] = "Apri un file", -- src\editor\commands.lua
|
||||
["Options"] = "Opzioni", -- src\editor\findreplace.lua
|
||||
["Output (running)"] = "Output (in corso d'esecuzione)", -- src\editor\output.lua
|
||||
["Output"] = "Output", -- src\editor\output.lua, src\editor\settings.lua, src\editor\gui.lua
|
||||
["Output"] = "Output", -- src\editor\gui.lua, src\editor\output.lua, src\editor\settings.lua
|
||||
["Paste text from the clipboard"] = "Incolla testo dagli appunti", -- src\editor\menu_edit.lua
|
||||
["Preferences"] = "Preferenze", -- src\editor\menu_edit.lua
|
||||
["Prepend '=' to show complex values on multiple lines."] = "Prefissa '=' per visualizzare valori complessi su piu` righe", -- src\editor\shellbox.lua
|
||||
["Press cancel to abort."] = "Premi cancel per bloccare.", -- src\editor\commands.lua
|
||||
["Program '%s' started in '%s' (pid: %d)."] = "Programma '%s' partito da '%s' (pid: %d).", -- src\editor\output.lua
|
||||
@@ -131,57 +173,78 @@ return {
|
||||
["Program stopped (pid: %d)."] = "Programma fermato (pid: %d).", -- src\editor\debugger.lua
|
||||
["Program unable to run as '%s'."] = "Il programma non puo' partire '%s'.", -- src\editor\output.lua
|
||||
["Project Directory"] = "Directory del Progetto", -- src\editor\menu_project.lua
|
||||
["Project"] = "Progetto", -- src\editor\settings.lua, src\editor\gui.lua
|
||||
["Project"] = "Progetto", -- src\editor\gui.lua, src\editor\settings.lua
|
||||
["Project/&FileTree Window"] = "Progetto/Explorer", -- src\editor\menu_view.lua
|
||||
["Provide command line parameters"] = "Fornire parametri riga di comando", -- src\editor\menu_project.lua
|
||||
["R/O"] = "R/O", -- src\editor\editor.lua
|
||||
["R/W"] = "R/W", -- src\editor\editor.lua
|
||||
["Re&place In Files"] = "Sostituisci nei files", -- src\editor\menu_search.lua
|
||||
["Recent Files"] = "Files recenti", -- src\editor\menu_file.lua
|
||||
["Redo last edit undone"] = "Ripeti l'ultima azione annullata", -- src\editor\menu_edit.lua
|
||||
["Refused a request to start a new debugging session as there is one in progress already."] = "Impossibile aprire una nuova sessione di debug in quanto ne esiste una in corso", -- src\editor\debugger.lua
|
||||
["Regular &expression"] = "Regular &expression", -- src\editor\findreplace.lua
|
||||
["Remote console"] = "Console remota", -- src\editor\shellbox.lua
|
||||
["Rename All Instances"] = "Rinomina tutte le occorrenze", -- src\editor\editor.lua
|
||||
["Replace A&ll"] = "Sostituisci Tutto", -- src\editor\findreplace.lua
|
||||
["Replace"] = "Sostituisci", -- src\editor\findreplace.lua
|
||||
["Replaced an invalid UTF8 character with %s."] = "Sostituito un carattere UTF8 invalido con %s.", -- src\editor\commands.lua
|
||||
["Replaced"] = "Sostituiti :", -- src\editor\findreplace.lua
|
||||
["Replacing"] = "Sostituzione", -- src\editor\findreplace.lua
|
||||
["Reset to default layout"] = "Ritorna al default layout", -- src\editor\menu_view.lua
|
||||
["Resets the dynamic word list for autocompletion"] = "Azzera la lista di dynamic words per l'autocompletamento", -- src\editor\menu_edit.lua
|
||||
["Run as Scratchpad"] = "Esegui in Scratchpad (Live coding)", -- src\editor\menu_project.lua
|
||||
["S&top Debugging"] = "Ferma il debugger", -- src\editor\menu_project.lua
|
||||
["S&top Process"] = "Ferma il processo", -- src\editor\menu_project.lua
|
||||
["Save &As..."] = "S&alva con nome...", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["Save &As..."] = "S&alva con nome...", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["Save A&ll"] = "Sa&lva tutto", -- src\editor\menu_file.lua
|
||||
["Save Changes?"] = "Vuoi salvare le modifiche?", -- src\editor\commands.lua
|
||||
["Save all open documents"] = "Salva tutti i documenti aperti", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["Save all open documents"] = "Salva tutti i documenti aperti", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["Save file as"] = "Salva il file con nome", -- src\editor\commands.lua
|
||||
["Save file?"] = "Vuoi salvare il file?", -- src\editor\commands.lua
|
||||
["Save the current document to a file with a new name"] = "Salva il documento corrente in un file con un nuovo nome", -- src\editor\menu_file.lua
|
||||
["Save the current document"] = "Salva il documento corrente", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["Save the current document"] = "Salva il documento corrente", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["Saved auto-recover at %s."] = "Salvato auto-recover a %s.", -- src\editor\commands.lua
|
||||
["Scope"] = "Direzione", -- src\editor\findreplace.lua
|
||||
["Scratchpad error"] = "Errore durente Scratchpad", -- src\editor\debugger.lua
|
||||
["Select &All"] = "Selezion&a Tutto", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["Searching for"] = "Ricerca di", -- src\editor\findreplace.lua
|
||||
["Select &All"] = "Selezion&a Tutto", -- src\editor\menu_edit.lua, src\editor\editor.lua
|
||||
["Select all text in the editor"] = "Seleziona tutto il testo nell'editor", -- src\editor\menu_edit.lua
|
||||
["Select and Find Next"] = "Seleziona e trova successivo", -- src\editor\menu_search.lua
|
||||
["Select and Find Previous"] = "Seleziona e trova precedente", -- src\editor\menu_search.lua
|
||||
["Select the word under cursor and find its next occurrence"] = "Seleziona la parola e trova successivo", -- src\editor\menu_search.lua
|
||||
["Select the word under cursor and find its previous occurrence"] = "Seleziona la parola e trova precedente", -- src\editor\menu_search.lua
|
||||
["Set From Current File"] = "Impostato da file corrente", -- src\editor\menu_project.lua
|
||||
["Set project directory from current file"] = "Definisci la directory del progeetto dal file corrente", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Set project directory from current file"] = "Definisci la directory del progeetto dal file corrente", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["Set the interpreter to be used"] = "Definisci l'interprete da utilizzare", -- src\editor\menu_project.lua
|
||||
["Set the project directory to be used"] = "Imposta la directory di progetto da usare", -- src\editor\menu_project.lua
|
||||
["Show &Tooltip"] = "Mos&tra i consgli", -- src\editor\menu_edit.lua
|
||||
["Settings: System"] = "Impostazioni: Sistema", -- src\editor\menu_edit.lua
|
||||
["Settings: User"] = "Impostazioni: Utente", -- src\editor\menu_edit.lua
|
||||
["Show &Tooltip"] = "Mos&tra i consigli", -- src\editor\menu_edit.lua
|
||||
["Show Location"] = "Mostra posizione", -- src\editor\gui.lua, src\editor\filetree.lua
|
||||
["Show tooltip for current position; place cursor after opening bracket of function"] = "Mostra i consigli per la posizione corrente; muovi il cursore dopo la parentesi o la funzione", -- src\editor\menu_edit.lua
|
||||
["Sort selected lines"] = "Ordina le righe selezionate", -- src\editor\menu_search.lua
|
||||
["Stack"] = "Stack", -- src\editor\debugger.lua
|
||||
["Sort selected lines"] = "Ordina le righe selezionate", -- src\editor\menu_edit.lua
|
||||
["Stack"] = "Stack", -- src\editor\debugger.lua, src\editor\gui.lua
|
||||
["Start &Debugging"] = "Inizia il &Debug", -- src\editor\menu_project.lua
|
||||
["Start debugging"] = "Inizia il Debug", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Start or Continue debugging"] = "Inizia o continua il debug", -- src\editor\gui.lua
|
||||
["Start or continue debugging"] = "Inizia o continua il debug", -- src\editor\menu_project.lua
|
||||
["Step &Into"] = "Step &Into", -- src\editor\menu_project.lua
|
||||
["Step &Over"] = "Step &Over", -- src\editor\menu_project.lua
|
||||
["Step O&ut"] = "Step O&ut", -- src\editor\menu_project.lua
|
||||
["Step into"] = "Step into", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Step out of the current function"] = "Contina fino all'uscita della funzione", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Step over"] = "Continua senza entrare nella funzione", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Stop the currently running process"] = "Ferma il processo in esecuzione", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Step into"] = "Step into", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["Step out of the current function"] = "Contina fino all'uscita della funzione", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["Step over"] = "Continua senza entrare nella funzione", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["Stop the currently running process"] = "Ferma il processo in esecuzione", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["Switch to or from full screen mode"] = "Passa da tutto schermo a finestra", -- src\editor\menu_view.lua
|
||||
["Text not found."] = "Testo non trovato.", -- src\editor\findreplace.lua
|
||||
["The API file must be located in a subdirectory of the API directory."] = "Il file API deve essere presente in una sottodirectory o nella direcotory API.", -- src\editor\autocomplete.lua
|
||||
["Toggle Break&point"] = "Attiva/Disattiva Break&point", -- src\editor\menu_project.lua
|
||||
["Toggle breakpoint"] = "Attiva/Disattiva Breakpoint", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Toggle breakpoint"] = "Attiva/Disattiva Breakpoint", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["Tr&ace"] = "Tr&ace", -- src\editor\menu_project.lua
|
||||
["Trace execution showing each executed line"] = "Traccia l'esecuzione mostrando le righe eseguite", -- src\editor\menu_project.lua
|
||||
["Unable to create directory '%s'."] = "Impossibile creare la directory '%s'.", -- src\editor\filetree.lua
|
||||
["Unable to create file '%s'."] = "Impossibile creare il file '%s'.", -- src\editor\filetree.lua
|
||||
["Unable to load file '%s'."] = "Impossibile aprire il file '%s'.", -- src\editor\commands.lua
|
||||
["Unable to rename file '%s'."] = "Impossibile rinominare il file '%s'.", -- src\editor\filetree.lua
|
||||
["Unable to save file '%s': %s"] = "Impossibile salvare il file '%s': %s", -- src\editor\commands.lua
|
||||
["Unable to stop program (pid: %d), code %d."] = "Impossibile fermare il programma (pid: %d), code %d.", -- src\editor\debugger.lua
|
||||
["Undo last edit"] = "Annulla l'ultima azione di edit", -- src\editor\menu_edit.lua
|
||||
@@ -192,11 +255,13 @@ return {
|
||||
["Value"] = "Valore", -- src\editor\debugger.lua
|
||||
["View the output/console window"] = "Mostra la finestra di output/console", -- src\editor\menu_view.lua
|
||||
["View the project/filetree window"] = "Mostra la finestra di progetto/explorer", -- src\editor\menu_view.lua
|
||||
["View the stack window"] = "Mostra la finestra dello Stack", -- src\editor\menu_view.lua, src\editor\gui.lua
|
||||
["View the watch window"] = "Mostra la finestra delle Espressioni di Controllo", -- src\editor\menu_view.lua, src\editor\gui.lua
|
||||
["Watch"] = "Watch", -- src\editor\debugger.lua
|
||||
["View the stack window"] = "Mostra la finestra dello Stack", -- src\editor\gui.lua, src\editor\menu_view.lua
|
||||
["View the watch window"] = "Mostra la finestra delle Espressioni di Controllo", -- src\editor\gui.lua, src\editor\menu_view.lua
|
||||
["Watch"] = "Watch", -- src\editor\debugger.lua, src\editor\gui.lua
|
||||
["Welcome to the interactive Lua interpreter."] = "Benvenuti nell`interprete interattivo Lua.", -- src\editor\shellbox.lua
|
||||
["Wrap ar&ound"] = "Wrap ar&ound", -- src\editor\findreplace.lua
|
||||
["You must save the program first."] = "Devi prima salvare il programma", -- src\editor\commands.lua
|
||||
["on line %d"] = "alla linea %d", -- src\editor\debugger.lua, src\editor\commands.lua
|
||||
["traced %d instruction"] = {"tracciata %d istruzione", "%d istruzioni tracciate"} -- src\editor\debugger.lua
|
||||
["on line %d"] = "alla linea %d", -- src\editor\debugger.lua, src\editor\editor.lua, src\editor\commands.lua
|
||||
["traced %d instruction"] = {"tracciata %d istruzione", "%d istruzioni tracciate"}, -- src\editor\debugger.lua
|
||||
["unknown error"] = "errore sconosciuto", -- src\editor\debugger.lua
|
||||
}
|
||||
|
||||
111
cfg/i18n/ru.lua
111
cfg/i18n/ru.lua
@@ -1,14 +1,18 @@
|
||||
return {
|
||||
[0] = function(c) c = (c-9)%100 < 9 and 9 or (c-1)%10 return c == 0 and 1 or c < 4 and 2 or 3 end, -- plural
|
||||
["%d instance"] = {"%d совпадение", "%d совпадения", "%d совпадений"}, -- src\editor\findreplace.lua
|
||||
["%s event failed: %s"] = nil, -- src\editor\package.lua
|
||||
["&About"] = "&О программе", -- src\editor\menu_help.lua
|
||||
["&Add Watch"] = "&Добавить выражение", -- src\editor\debugger.lua
|
||||
["&Break"] = "Пр&ервать", -- src\editor\menu_project.lua
|
||||
["&Close Page"] = "&Закрыть", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["&Close Page"] = "&Закрыть", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["&Community"] = nil, -- src\editor\menu_help.lua
|
||||
["&Compile"] = "&Компилировать", -- src\editor\menu_project.lua
|
||||
["&Copy"] = "&Копировать", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["&Copy"] = "&Копировать", -- src\editor\menu_edit.lua, src\editor\editor.lua
|
||||
["&Default Layout"] = "Вид по &умолчанию", -- src\editor\menu_view.lua
|
||||
["&Delete Watch"] = "&Удалить выражение", -- src\editor\debugger.lua
|
||||
["&Delete"] = nil, -- src\editor\filetree.lua
|
||||
["&Documentation"] = nil, -- src\editor\menu_help.lua
|
||||
["&Down"] = "Вниз", -- src\editor\findreplace.lua
|
||||
["&Edit Watch"] = "&Редактировать выражение", -- src\editor\debugger.lua
|
||||
["&Edit"] = "&Правка", -- src\editor\menu_edit.lua
|
||||
@@ -17,48 +21,56 @@ return {
|
||||
["&Find Next"] = "Найти далее", -- src\editor\findreplace.lua
|
||||
["&Find"] = "&Найти", -- src\editor\menu_search.lua
|
||||
["&Fold/Unfold All"] = "Св&ернуть/развернуть все", -- src\editor\menu_edit.lua
|
||||
["&Frequently Asked Questions"] = nil, -- src\editor\menu_help.lua
|
||||
["&Getting Started Guide"] = nil, -- src\editor\menu_help.lua
|
||||
["&Goto Line"] = "&Перейти к строке", -- src\editor\menu_search.lua
|
||||
["&Help"] = "&Справка", -- src\editor\menu_help.lua
|
||||
["&New Directory"] = nil, -- src\editor\filetree.lua
|
||||
["&New"] = "Соз&дать", -- src\editor\menu_file.lua
|
||||
["&Open..."] = "&Открыть...", -- src\editor\menu_file.lua
|
||||
["&Output/Console Window"] = "Окно &вывода/консоли", -- src\editor\menu_view.lua
|
||||
["&Paste"] = "В&ставить", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["&Project"] = "Пр&оект", -- src\editor\menu_project.lua, src\editor\inspect.lua
|
||||
["&Redo"] = "Верну&ть", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["&Paste"] = "В&ставить", -- src\editor\menu_edit.lua, src\editor\editor.lua
|
||||
["&Project Page"] = nil, -- src\editor\menu_help.lua
|
||||
["&Project"] = "Пр&оект", -- src\editor\inspect.lua, src\editor\menu_project.lua
|
||||
["&Redo"] = "Верну&ть", -- src\editor\menu_edit.lua, src\editor\editor.lua
|
||||
["&Rename"] = nil, -- src\editor\filetree.lua
|
||||
["&Replace All"] = "Заменить всe", -- src\editor\findreplace.lua
|
||||
["&Replace"] = "За&менить", -- src\editor\findreplace.lua, src\editor\menu_search.lua
|
||||
["&Run"] = "За&пустить", -- src\editor\menu_project.lua
|
||||
["&Save"] = "&Сохранить", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["&Save"] = "&Сохранить", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["&Search"] = "По&иск", -- src\editor\menu_search.lua
|
||||
["&Sort"] = "&Cортировать", -- src\editor\menu_search.lua
|
||||
["&Sort"] = "&Cортировать", -- src\editor\menu_edit.lua
|
||||
["&Stack Window"] = "Окно &стека", -- src\editor\menu_view.lua
|
||||
["&Start Debugger Server"] = "Запустить сервер отла&дки", -- src\editor\menu_project.lua
|
||||
["&Subdirectories"] = "В папках", -- src\editor\findreplace.lua
|
||||
["&Undo"] = "&Отменить", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["&Tutorials"] = nil, -- src\editor\menu_help.lua
|
||||
["&Undo"] = "&Отменить", -- src\editor\menu_edit.lua, src\editor\editor.lua
|
||||
["&Up"] = "Вверх", -- src\editor\findreplace.lua
|
||||
["&View"] = "&Вид", -- src\editor\menu_view.lua
|
||||
["&Watch Window"] = "Окно &выражений", -- src\editor\menu_view.lua
|
||||
[".&bak on Replace"] = ".&bak после замены", -- src\editor\findreplace.lua
|
||||
["About %s"] = "О %s", -- src\editor\menu_help.lua
|
||||
["Add Watch Expression"] = "Добавить выражение", -- src\editor\editor.lua
|
||||
["Add To Scratchpad"] = "Добавить в черновик", -- src\editor\editor.lua
|
||||
["Add Watch Expression"] = "Добавить выражение", -- src\editor\editor.lua
|
||||
["All files"] = "Все файлы", -- src\editor\commands.lua
|
||||
["Allow external process to start debugging"] = "Разрешить внешнему процессу начать отладку", -- src\editor\menu_project.lua
|
||||
["Analyze the source code"] = "Проанализировать исходный код", -- src\editor\inspect.lua
|
||||
["Analyze"] = "Анализировать", -- src\editor\inspect.lua
|
||||
["Auto Complete Identifiers"] = "Автодополнение идентификаторов", -- src\editor\menu_edit.lua
|
||||
["Auto complete while typing"] = "Автоматически дополнять идентификаторы при наборе", -- src\editor\menu_edit.lua
|
||||
["Break execution at the next executed line of code"] = "Прервать выполнение на следующей строке", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Break execution at the next executed line of code"] = "Прервать выполнение на следующей строке", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["C&lear Output Window"] = "Очистка ок&на вывода", -- src\editor\menu_project.lua
|
||||
["C&omment/Uncomment"] = "Зако&мментировать/раскомментировать", -- src\editor\menu_edit.lua
|
||||
["Can't debug the script in the active editor window."] = "Невозможно отладить скрипт в текущем окне редактирования.", -- src\editor\debugger.lua
|
||||
["Can't find file '%s' in the current project to activate for debugging. Update the project or open the file in the editor before debugging."] = "Файл '%s', необходимый для отладки, не найден в текущем проекте. Обновите проект или откройте файл в редакторе перед началом отладки.", -- src\editor\debugger.lua
|
||||
["Can't process auto-recovery record; invalid format: %s."] = "Ошибка обработки записи автоматического восстановления; неверный формат: %s.", -- src\editor\commands.lua
|
||||
["Can't run the entry point script ('%s')."] = "Ошибка выполнения стартового скрипта ('%s').", -- src\editor\debugger.lua
|
||||
["Can't start debugger server at %s:%d: %s."] = nil, -- src\editor\debugger.lua
|
||||
["Can't start debugging session due to internal error '%s'."] = "Невозможно начать отладочную сессию из-за внутренней ошибки '%s'.", -- src\editor\debugger.lua
|
||||
["Can't start debugging without an opened file or with the current file not being saved ('%s')."] = "Невозможно начать отладку без открытого файла или с несохраненным текущим файлом ('%s').", -- src\editor\debugger.lua
|
||||
["Cancel"] = "Отмена", -- src\editor\findreplace.lua
|
||||
["Choose ..."] = "Выбрать ...", -- src\editor\menu_project.lua
|
||||
["Cancelled by the user."] = nil, -- src\editor\findreplace.lua
|
||||
["Choose..."] = "Выбрать...", -- src\editor\menu_project.lua
|
||||
["Choose a project directory"] = "Выберите папку проекта", -- src\editor\findreplace.lua, src\editor\menu_project.lua
|
||||
["Clear &Dynamic Words"] = "Очистить &динамические слова", -- src\editor\menu_edit.lua
|
||||
["Clear the output window before compiling or debugging"] = "Очистить окно вывода перед компиляцией или отладкой", -- src\editor\menu_project.lua
|
||||
@@ -67,26 +79,33 @@ return {
|
||||
["Close the current editor window"] = "Закрыть текущее окно редактирования", -- src\editor\menu_file.lua
|
||||
["Co&ntinue"] = "Пр&одолжить", -- src\editor\menu_project.lua
|
||||
["Col: %d"] = "Стб: %d", -- src\editor\editor.lua
|
||||
["Command Line Parameters..."] = "Параметры командной строки...", -- src\editor\menu_project.lua
|
||||
["Command line parameters"] = "Параметры командной строки", -- src\editor\menu_project.lua
|
||||
["Comment or uncomment current or selected lines"] = "Закомментировать или раскомментировать текущую или выделенные строки", -- src\editor\menu_edit.lua
|
||||
["Compilation error"] = "Ошибка компиляции", -- src\editor\debugger.lua, src\editor\commands.lua
|
||||
["Compilation error"] = "Ошибка компиляции", -- src\editor\commands.lua, src\editor\debugger.lua
|
||||
["Compilation successful; %.0f%% success rate (%d/%d)."] = "Компиляция завершена успешно; процент успеха: %.0f%% (%d/%d).", -- src\editor\commands.lua
|
||||
["Compile the current file"] = "Скомпилировать текущий файл", -- src\editor\menu_project.lua
|
||||
["Complete &Identifier"] = "Дополнить &идентификатор", -- src\editor\menu_edit.lua
|
||||
["Complete the current identifier"] = "Дополнить текущий идентификатор", -- src\editor\menu_edit.lua
|
||||
["Consider removing backslash from escape sequence '%s'."] = nil, -- src\editor\commands.lua
|
||||
["Copy Full Path"] = nil, -- src\editor\filetree.lua
|
||||
["Copy selected text to clipboard"] = "Скопировать выделенный текст в буфер обмена", -- src\editor\menu_edit.lua
|
||||
["Couldn't activate file '%s' for debugging; continuing without it."] = "Невозможно открыть файл '%s' для отладки; выполнение будет продолжено без него.", -- src\editor\debugger.lua
|
||||
["Create an empty document"] = "Создать новый документ", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["Cu&t"] = "Вы&резать", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["Create an empty document"] = "Создать новый документ", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["Cu&t"] = "Вы&резать", -- src\editor\menu_edit.lua, src\editor\editor.lua
|
||||
["Cut selected text to clipboard"] = "Вырезать выделенный текст в буфер обмена", -- src\editor\menu_edit.lua
|
||||
["Debugger server started at %s:%d."] = "Сервер отладки запущен на %s:%d.", -- src\editor\debugger.lua
|
||||
["Debugging session completed (%s)."] = "Отладочная сессия завершена (%s).", -- src\editor\debugger.lua
|
||||
["Debugging session started in '%s'."] = "Отладочная сессия запущена в '%s'.", -- src\editor\debugger.lua
|
||||
["Debugging suspended at %s:%s (couldn't activate the file)."] = "Отладка остановлена на %s:%s (невозможно открыть файл).", -- src\editor\debugger.lua
|
||||
["Directory"] = "Папка", -- src\editor\findreplace.lua
|
||||
["Do you want to delete '%s'?"] = nil, -- src\editor\filetree.lua
|
||||
["Do you want to overwrite it?"] = nil, -- src\editor\commands.lua
|
||||
["Do you want to reload it?"] = "Перезагрузить его?", -- src\editor\editor.lua
|
||||
["Do you want to save the changes to '%s'?"] = "Сохранить изменения в '%s'?", -- src\editor\commands.lua
|
||||
["E&xit"] = "Вы&ход", -- src\editor\menu_file.lua
|
||||
["Enter Lua code and press Enter to run it."] = "Введите код на Lua и нажмите Enter для выполнения.", -- src\editor\shellbox.lua
|
||||
["Enter command line parameters (use Cancel to clear)"] = nil, -- src\editor\menu_project.lua
|
||||
["Enter line number"] = "Введите номер строки", -- src\editor\menu_search.lua
|
||||
["Error while loading API file: %s"] = "Ошибка загрузки файла определений API: %s", -- src\editor\autocomplete.lua
|
||||
["Error while loading configuration file: %s"] = "Ошибка загрузки файла конфигурации: %s", -- src\editor\style.lua
|
||||
@@ -102,17 +121,18 @@ return {
|
||||
["Expression"] = "Выражение", -- src\editor\debugger.lua
|
||||
["File '%s' has been modified on disk."] = "Файл '%s' был изменен на диске.", -- src\editor\editor.lua
|
||||
["File '%s' has more recent timestamp than restored '%s'; please review before saving."] = "Файл '%s' имеет более позднее время модификации, чем восстановленный '%s'; пожалуйста просмотрите его перед сохранением.", -- src\editor\commands.lua
|
||||
["File '%s' no longer exists."] = "Файл '%s' больше не существует.", -- src\editor\editor.lua, src\editor\menu_file.lua
|
||||
["File '%s' no longer exists."] = "Файл '%s' больше не существует.", -- src\editor\menu_file.lua, src\editor\editor.lua
|
||||
["File Type"] = "Тип файла", -- src\editor\findreplace.lua
|
||||
["File already exists."] = nil, -- src\editor\commands.lua
|
||||
["File history"] = "История файлов", -- src\editor\menu_file.lua
|
||||
["Find &In Files"] = "Н&айти в файлах", -- src\editor\menu_search.lua
|
||||
["Find &Next"] = "Найти &далее", -- src\editor\menu_search.lua
|
||||
["Find &Previous"] = "Найти &ранее", -- src\editor\menu_search.lua
|
||||
["Find In Files"] = "Найти в файлах", -- src\editor\findreplace.lua
|
||||
["Find and replace text in files"] = "Найти и заменить текст в файлах", -- src\editor\menu_search.lua
|
||||
["Find and replace text"] = "Найти и заменить текст", -- src\editor\menu_search.lua, src\editor\gui.lua
|
||||
["Find and replace text"] = "Найти и заменить текст", -- src\editor\gui.lua, src\editor\menu_search.lua
|
||||
["Find text in files"] = "Найти текст в файлах", -- src\editor\menu_search.lua
|
||||
["Find text"] = "Найти текст", -- src\editor\menu_search.lua, src\editor\gui.lua
|
||||
["Find text"] = "Найти текст", -- src\editor\gui.lua, src\editor\menu_search.lua
|
||||
["Find the earlier text occurence"] = "Найти предыдущее вхождение текста", -- src\editor\menu_search.lua
|
||||
["Find the next text occurrence"] = "Найти следующее вхождение текста", -- src\editor\menu_search.lua
|
||||
["Find"] = "Найти", -- src\editor\findreplace.lua
|
||||
@@ -120,6 +140,7 @@ return {
|
||||
["Found auto-recovery record and restored saved session."] = "Найдена запись авто-восстановления и восстановлена сохраненная сессия.", -- src\editor\commands.lua
|
||||
["Found"] = "Найдено", -- src\editor\findreplace.lua
|
||||
["Full &Screen"] = "Во весь экр&ан", -- src\editor\menu_view.lua
|
||||
["Go To Definition"] = nil, -- src\editor\editor.lua
|
||||
["Go to a selected line"] = "Перейти к заданной строке", -- src\editor\menu_search.lua
|
||||
["Goto Line"] = "Перейти к строке", -- src\editor\menu_search.lua
|
||||
["INS"] = "ВСТ", -- src\editor\editor.lua
|
||||
@@ -127,18 +148,20 @@ return {
|
||||
["Jump to a function definition..."] = "Перейти к определению функции...", -- src\editor\editor.lua
|
||||
["Known Files"] = "Файлы Lua", -- src\editor\commands.lua
|
||||
["Ln: %d"] = "Стр: %d", -- src\editor\editor.lua
|
||||
["Local console"] = "Локальная консоль", -- src\editor\shellbox.lua, src\editor\gui.lua
|
||||
["Local console"] = "Локальная консоль", -- src\editor\gui.lua, src\editor\shellbox.lua
|
||||
["Lua &Interpreter"] = "&Интерпретатор Lua", -- src\editor\menu_project.lua
|
||||
["Mapped remote request for '%s' to '%s'."] = "Удаленный запрос для '%s' отображен на '%s'.", -- src\editor\debugger.lua
|
||||
["Match &case"] = "Совпадение регистра", -- src\editor\findreplace.lua
|
||||
["Match &whole word"] = "Совпадение целого слова", -- src\editor\findreplace.lua
|
||||
["Mixed end-of-line encodings detected."] = "Обнаружены смешанные символы конца строки.", -- src\editor\commands.lua
|
||||
["New &File"] = nil, -- src\editor\filetree.lua
|
||||
["OVR"] = "ЗАМ", -- src\editor\editor.lua
|
||||
["Open an existing document"] = "Открыть существующий документ", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["Open With Default Program"] = nil, -- src\editor\filetree.lua
|
||||
["Open an existing document"] = "Открыть существующий документ", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["Open file"] = "Открыть файл", -- src\editor\commands.lua
|
||||
["Options"] = "Установки", -- src\editor\findreplace.lua
|
||||
["Output (running)"] = "Вывод (запущен)", -- src\editor\output.lua
|
||||
["Output"] = "Вывод", -- src\editor\output.lua, src\editor\settings.lua, src\editor\gui.lua
|
||||
["Output"] = "Вывод", -- src\editor\gui.lua, src\editor\output.lua, src\editor\settings.lua
|
||||
["Paste text from the clipboard"] = "Вставить текст из буфера обмена", -- src\editor\menu_edit.lua
|
||||
["Preferences"] = "Настройки", -- src\editor\menu_edit.lua
|
||||
["Prepend '=' to show complex values on multiple lines."] = "Укажите '=' в начале выражения для отображения сложных значений на нескольких строках.", -- src\editor\shellbox.lua
|
||||
@@ -150,8 +173,9 @@ return {
|
||||
["Program stopped (pid: %d)."] = "Программа завершена (pid: %d).", -- src\editor\debugger.lua
|
||||
["Program unable to run as '%s'."] = "Программа не может быть запущена как '%s'.", -- src\editor\output.lua
|
||||
["Project Directory"] = "Папка проекта", -- src\editor\menu_project.lua
|
||||
["Project"] = "Проект", -- src\editor\settings.lua, src\editor\gui.lua
|
||||
["Project"] = "Проект", -- src\editor\gui.lua, src\editor\settings.lua
|
||||
["Project/&FileTree Window"] = "Окно &проекта/списка файлов", -- src\editor\menu_view.lua
|
||||
["Provide command line parameters"] = nil, -- src\editor\menu_project.lua
|
||||
["R/O"] = "R/O", -- src\editor\editor.lua
|
||||
["R/W"] = "R/W", -- src\editor\editor.lua
|
||||
["Re&place In Files"] = "Замени&ть в файлах", -- src\editor\menu_search.lua
|
||||
@@ -160,6 +184,7 @@ return {
|
||||
["Refused a request to start a new debugging session as there is one in progress already."] = "Отказано в запросе на запуск новой отладочной сессии, поскольку одна сессия уже выполняется.", -- src\editor\debugger.lua
|
||||
["Regular &expression"] = "Регулярное выражение", -- src\editor\findreplace.lua
|
||||
["Remote console"] = "Удаленная консоль", -- src\editor\shellbox.lua
|
||||
["Rename All Instances"] = nil, -- src\editor\editor.lua
|
||||
["Replace A&ll"] = "Заменить все", -- src\editor\findreplace.lua
|
||||
["Replace"] = "Заменить", -- src\editor\findreplace.lua
|
||||
["Replaced an invalid UTF8 character with %s."] = "Некорректный символ UTF8 заменен на %s.", -- src\editor\commands.lua
|
||||
@@ -170,47 +195,56 @@ return {
|
||||
["Run as Scratchpad"] = "Запустить как черновик", -- src\editor\menu_project.lua
|
||||
["S&top Debugging"] = "&Завершить отладку", -- src\editor\menu_project.lua
|
||||
["S&top Process"] = "&Завершить процесс", -- src\editor\menu_project.lua
|
||||
["Save &As..."] = "Сохранить &как...", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["Save &As..."] = "Сохранить &как...", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["Save A&ll"] = "Сохранить &все", -- src\editor\menu_file.lua
|
||||
["Save Changes?"] = "Сохранить изменения?", -- src\editor\commands.lua
|
||||
["Save all open documents"] = "Сохранить все открытые документы", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["Save all open documents"] = "Сохранить все открытые документы", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["Save file as"] = "Сохранить файл как", -- src\editor\commands.lua
|
||||
["Save file?"] = "Сохранить файл?", -- src\editor\commands.lua
|
||||
["Save the current document to a file with a new name"] = "Сохранить текущий документ в файл под новым именем", -- src\editor\menu_file.lua
|
||||
["Save the current document"] = "Сохранить текущий документ", -- src\editor\menu_file.lua, src\editor\gui.lua
|
||||
["Save the current document"] = "Сохранить текущий документ", -- src\editor\gui.lua, src\editor\menu_file.lua
|
||||
["Saved auto-recover at %s."] = "Сохранено авто-восст в %s.", -- src\editor\commands.lua
|
||||
["Scope"] = "Направление", -- src\editor\findreplace.lua
|
||||
["Scratchpad error"] = "Ошибка в черновике", -- src\editor\debugger.lua
|
||||
["Searching for"] = "Поиск", -- src\editor\findreplace.lua
|
||||
["Select &All"] = "Выделить &все", -- src\editor\editor.lua, src\editor\menu_edit.lua
|
||||
["Select &All"] = "Выделить &все", -- src\editor\menu_edit.lua, src\editor\editor.lua
|
||||
["Select all text in the editor"] = "Выделить весь текст в редакторе", -- src\editor\menu_edit.lua
|
||||
["Select and Find Next"] = "Выделить и найти далее", -- src\editor\menu_search.lua
|
||||
["Select and Find Previous"] = "Выделить и найти ранее", -- src\editor\menu_search.lua
|
||||
["Select the word under cursor and find its next occurrence"] = nil, -- src\editor\menu_search.lua
|
||||
["Select the word under cursor and find its previous occurrence"] = nil, -- src\editor\menu_search.lua
|
||||
["Set From Current File"] = "Установить по текущему файлу", -- src\editor\menu_project.lua
|
||||
["Set project directory from current file"] = "Установить папку проекта по текущему файлу", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Set project directory from current file"] = "Установить папку проекта по текущему файлу", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["Set the interpreter to be used"] = "Установить используемый интерпретатор", -- src\editor\menu_project.lua
|
||||
["Set the project directory to be used"] = "Установить используемую папку проекта", -- src\editor\menu_project.lua
|
||||
["Settings: System"] = "Установки: Системы", -- src\editor\menu_edit.lua
|
||||
["Settings: User"] = "Установки: Пользователя", -- src\editor\menu_edit.lua
|
||||
["Show &Tooltip"] = "Показать &подсказку", -- src\editor\menu_edit.lua
|
||||
["Show Location"] = nil, -- src\editor\gui.lua, src\editor\filetree.lua
|
||||
["Show tooltip for current position; place cursor after opening bracket of function"] = "Показать подсказку в текущей позиции; переместите курсор в позицию после открывающей скобки функции", -- src\editor\menu_edit.lua
|
||||
["Sort selected lines"] = "Отсортировать выделенные строки", -- src\editor\menu_search.lua
|
||||
["Stack"] = "Стек", -- src\editor\debugger.lua
|
||||
["Sort selected lines"] = "Отсортировать выделенные строки", -- src\editor\menu_edit.lua
|
||||
["Stack"] = "Стек", -- src\editor\debugger.lua, src\editor\gui.lua
|
||||
["Start &Debugging"] = "Начать &отладку", -- src\editor\menu_project.lua
|
||||
["Start debugging"] = "Начать отладку", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Start or Continue debugging"] = nil, -- src\editor\gui.lua
|
||||
["Start or continue debugging"] = nil, -- src\editor\menu_project.lua
|
||||
["Step &Into"] = "&Войти", -- src\editor\menu_project.lua
|
||||
["Step &Over"] = "&Следующая строка", -- src\editor\menu_project.lua
|
||||
["Step O&ut"] = "В&ыйти", -- src\editor\menu_project.lua
|
||||
["Step into"] = "Войти в функцию", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Step out of the current function"] = "Выйти из текущей функции", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Step over"] = "Перейти на следующую строку", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Stop the currently running process"] = "Завершить текущий процесс", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Step into"] = "Войти в функцию", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["Step out of the current function"] = "Выйти из текущей функции", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["Step over"] = "Перейти на следующую строку", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["Stop the currently running process"] = "Завершить текущий процесс", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["Switch to or from full screen mode"] = "Переключить полноэкранный режим", -- src\editor\menu_view.lua
|
||||
["Text not found."] = "Текст не найден.", -- src\editor\findreplace.lua
|
||||
["The API file must be located in a subdirectory of the API directory."] = "Файл определений API должен быть расположен внутри папки API.", -- src\editor\autocomplete.lua
|
||||
["Toggle Break&point"] = "&Точка останова", -- src\editor\menu_project.lua
|
||||
["Toggle breakpoint"] = "Переключить точку останова", -- src\editor\menu_project.lua, src\editor\gui.lua
|
||||
["Toggle breakpoint"] = "Переключить точку останова", -- src\editor\gui.lua, src\editor\menu_project.lua
|
||||
["Tr&ace"] = "Т&рассировка", -- src\editor\menu_project.lua
|
||||
["Trace execution showing each executed line"] = "Отслеживать выполнение, показывая каждую выполненную строку", -- src\editor\menu_project.lua
|
||||
["Unable to create directory '%s'."] = nil, -- src\editor\filetree.lua
|
||||
["Unable to create file '%s'."] = nil, -- src\editor\filetree.lua
|
||||
["Unable to load file '%s'."] = "Ошибка загрузки файла '%s'.", -- src\editor\commands.lua
|
||||
["Unable to rename file '%s'."] = nil, -- src\editor\filetree.lua
|
||||
["Unable to save file '%s': %s"] = "Ошибка сохранения файла '%s': %s", -- src\editor\commands.lua
|
||||
["Unable to stop program (pid: %d), code %d."] = "Невозможно завершить программу (pid: %d), код %d.", -- src\editor\debugger.lua
|
||||
["Undo last edit"] = "Отменить последнее действие", -- src\editor\menu_edit.lua
|
||||
@@ -221,12 +255,13 @@ return {
|
||||
["Value"] = "Значение", -- src\editor\debugger.lua
|
||||
["View the output/console window"] = "Показать окно вывода/консоли", -- src\editor\menu_view.lua
|
||||
["View the project/filetree window"] = "Показать окно проекта/списка файлов", -- src\editor\menu_view.lua
|
||||
["View the stack window"] = "Показать окно стека", -- src\editor\menu_view.lua, src\editor\gui.lua
|
||||
["View the watch window"] = "Показать окно выражений", -- src\editor\menu_view.lua, src\editor\gui.lua
|
||||
["Watch"] = "Выражение", -- src\editor\debugger.lua
|
||||
["View the stack window"] = "Показать окно стека", -- src\editor\gui.lua, src\editor\menu_view.lua
|
||||
["View the watch window"] = "Показать окно выражений", -- src\editor\gui.lua, src\editor\menu_view.lua
|
||||
["Watch"] = "Выражение", -- src\editor\debugger.lua, src\editor\gui.lua
|
||||
["Welcome to the interactive Lua interpreter."] = "Добро пожаловать в интерактивный интерпретатор Lua.", -- src\editor\shellbox.lua
|
||||
["Wrap ar&ound"] = "Продолжить сначала", -- src\editor\findreplace.lua
|
||||
["You must save the program first."] = "Вы должны сначала сохранить программу.", -- src\editor\commands.lua
|
||||
["on line %d"] = "в строке %d", -- src\editor\debugger.lua, src\editor\commands.lua
|
||||
["on line %d"] = "в строке %d", -- src\editor\debugger.lua, src\editor\editor.lua, src\editor\commands.lua
|
||||
["traced %d instruction"] = {"выполнена %d инструкция", "выполнено %d инструкции", "выполнено %d инструкций"}, -- src\editor\debugger.lua
|
||||
["unknown error"] = nil, -- src\editor\debugger.lua
|
||||
}
|
||||
|
||||
@@ -1,29 +1,29 @@
|
||||
--[[
|
||||
1. Pick a color scheme by clicking on its name:
|
||||
- [Tomorrow](macro:shell(ApplyStyleConfig('cfg/tomorrow.lua','Tomorrow')))
|
||||
- [TomorrowContrast](macro:shell(ApplyStyleConfig('cfg/tomorrow.lua','TomorrowContrast')))
|
||||
- [TomorrowNight](macro:shell(ApplyStyleConfig('cfg/tomorrow.lua','TomorrowNight')))
|
||||
- [TomorrowNightBlue](macro:shell(ApplyStyleConfig('cfg/tomorrow.lua','TomorrowNightBlue')))
|
||||
- [TomorrowNightBright](macro:shell(ApplyStyleConfig('cfg/tomorrow.lua','TomorrowNightBright')))
|
||||
- [TomorrowNightEighties](macro:shell(ApplyStyleConfig('cfg/tomorrow.lua','TomorrowNightEighties')))
|
||||
- [Zenburn](macro:shell(ApplyStyleConfig('cfg/tomorrow.lua','Zenburn')))
|
||||
- [Monokai](macro:shell(ApplyStyleConfig('cfg/tomorrow.lua','Monokai')))
|
||||
- [Molokai](macro:shell(ApplyStyleConfig('cfg/tomorrow.lua','Molokai')))
|
||||
- [SolarizedDark](macro:shell(ApplyStyleConfig('cfg/tomorrow.lua','SolarizedDark')))
|
||||
- [SolarizedLight](macro:shell(ApplyStyleConfig('cfg/tomorrow.lua','SolarizedLight')))
|
||||
- [Notepad++](macro:shell(ApplyStyleConfig('cfg/tomorrow.lua','NotepadPlusPlus')))
|
||||
- [SciTeLuaIDE](macro:shell(ApplyStyleConfig('cfg/tomorrow.lua','SciTeLuaIDE')))
|
||||
- [Tomorrow](macro:inline(ApplyStyleConfig('cfg/tomorrow.lua','Tomorrow'); local c = ide.config; c.stylesoutshell = c.styles; c.styles.auxwindow = c.styles.text; ReApplySpecAndStyles()))
|
||||
- [TomorrowContrast](macro:inline(ApplyStyleConfig('cfg/tomorrow.lua','TomorrowContrast'); local c = ide.config; c.stylesoutshell = c.styles; c.styles.auxwindow = c.styles.text; ReApplySpecAndStyles()))
|
||||
- [TomorrowNight](macro:inline(ApplyStyleConfig('cfg/tomorrow.lua','TomorrowNight'); local c = ide.config; c.stylesoutshell = c.styles; c.styles.auxwindow = c.styles.text; ReApplySpecAndStyles()))
|
||||
- [TomorrowNightBlue](macro:inline(ApplyStyleConfig('cfg/tomorrow.lua','TomorrowNightBlue'); local c = ide.config; c.stylesoutshell = c.styles; c.styles.auxwindow = c.styles.text; ReApplySpecAndStyles()))
|
||||
- [TomorrowNightBright](macro:inline(ApplyStyleConfig('cfg/tomorrow.lua','TomorrowNightBright'); local c = ide.config; c.stylesoutshell = c.styles; c.styles.auxwindow = c.styles.text; ReApplySpecAndStyles()))
|
||||
- [TomorrowNightEighties](macro:inline(ApplyStyleConfig('cfg/tomorrow.lua','TomorrowNightEighties'); local c = ide.config; c.stylesoutshell = c.styles; c.styles.auxwindow = c.styles.text; ReApplySpecAndStyles()))
|
||||
- [Zenburn](macro:inline(ApplyStyleConfig('cfg/tomorrow.lua','Zenburn'); local c = ide.config; c.stylesoutshell = c.styles; c.styles.auxwindow = c.styles.text; ReApplySpecAndStyles()))
|
||||
- [Monokai](macro:inline(ApplyStyleConfig('cfg/tomorrow.lua','Monokai'); local c = ide.config; c.stylesoutshell = c.styles; c.styles.auxwindow = c.styles.text; ReApplySpecAndStyles()))
|
||||
- [Molokai](macro:inline(ApplyStyleConfig('cfg/tomorrow.lua','Molokai'); local c = ide.config; c.stylesoutshell = c.styles; c.styles.auxwindow = c.styles.text; ReApplySpecAndStyles()))
|
||||
- [SolarizedDark](macro:inline(ApplyStyleConfig('cfg/tomorrow.lua','SolarizedDark'); local c = ide.config; c.stylesoutshell = c.styles; c.styles.auxwindow = c.styles.text; ReApplySpecAndStyles()))
|
||||
- [SolarizedLight](macro:inline(ApplyStyleConfig('cfg/tomorrow.lua','SolarizedLight'); local c = ide.config; c.stylesoutshell = c.styles; c.styles.auxwindow = c.styles.text; ReApplySpecAndStyles()))
|
||||
- [Notepad++](macro:inline(ApplyStyleConfig('cfg/tomorrow.lua','NotepadPlusPlus'); local c = ide.config; c.stylesoutshell = c.styles; c.styles.auxwindow = c.styles.text; ReApplySpecAndStyles()))
|
||||
- [SciTeLuaIDE](macro:inline(ApplyStyleConfig('cfg/tomorrow.lua','SciTeLuaIDE'); local c = ide.config; c.stylesoutshell = c.styles; c.styles.auxwindow = c.styles.text; ReApplySpecAndStyles()))
|
||||
|
||||
- [ZeroBrane Studio](macro:shell(ide.config.styles = StylesGetDefault(); ReApplySpecAndStyles()))
|
||||
- [ZeroBrane Studio](macro:inline(ide.config.styles = StylesGetDefault(); local c = ide.config; c.stylesoutshell = c.styles; c.styles.auxwindow = {}; ReApplySpecAndStyles()))
|
||||
|
||||
2. [Apply the same scheme to Output/Console windows](macro:shell(ide.config.stylesoutshell = ide.config.styles; ReApplySpecAndStyles())).
|
||||
|
||||
3. Add the following code with the scheme you selected to `cfg/user.lua`.
|
||||
2. Add the following code with the scheme you selected to `cfg/user.lua`.
|
||||
--]]
|
||||
|
||||
local G = ...
|
||||
styles = G.loadfile('cfg/tomorrow.lua')('TomorrowNightBlue')
|
||||
stylesoutshell = styles -- also apply the same scheme to Output/Console windows
|
||||
stylesoutshell = styles -- apply the same scheme to Output/Console windows
|
||||
styles.auxwindow = styles.text -- apply text colors to auxiliary windows
|
||||
styles.calltip = styles.text -- apply text colors to tooltips
|
||||
|
||||
-- code example
|
||||
if false and true then func(1, 2, 3) end
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
-- This is a file that sets color scheme based on Tomorrow format.
|
||||
-- Copyright 2011-12 Paul Kulchenko, ZeroBrane LLC
|
||||
-- Copyright 2011-14 Paul Kulchenko, ZeroBrane LLC
|
||||
|
||||
-- Tomorrow colors from https://github.com/chriskempson/tomorrow-theme
|
||||
-- Zenburn colors from https://github.com/jnurmine/Zenburn/blob/master/colors/zenburn.vim (contributed by Srdjan Marković)
|
||||
-- Monokai colors from http://www.monokai.nl/blog/2006/07/15/textmate-color-theme/
|
||||
-- Molokay colors based on https://github.com/tomasr/molokai/blob/master/colors/molokai.vim
|
||||
-- Molokai colors based on https://github.com/tomasr/molokai/blob/master/colors/molokai.vim
|
||||
-- Solarized colors from https://github.com/altercation/vim-colors-solarized
|
||||
|
||||
local theme = ...
|
||||
@@ -260,7 +260,6 @@ return {
|
||||
calltip = nil,
|
||||
|
||||
-- common special (need custom fg & bg)
|
||||
calltipbg = nil,
|
||||
sel = {bg = C.Selection},
|
||||
caret = {fg = C.Foreground},
|
||||
caretlinebg = {bg = C.CurrentLine},
|
||||
|
||||
@@ -51,18 +51,38 @@ return {
|
||||
end
|
||||
end
|
||||
|
||||
local filepath = wfilename:GetFullPath()
|
||||
if rundebug then
|
||||
DebuggerAttachDefault({runstart = ide.config.debugger.runonstart == true})
|
||||
end
|
||||
|
||||
local code = rundebug
|
||||
and ([[-e "io.stdout:setvbuf('no'); %s"]]):format(rundebug)
|
||||
or ([[-e "io.stdout:setvbuf('no')" "%s"]]):format(wfilename:GetFullPath())
|
||||
local cmd = '"'..gslshell..'" '..code
|
||||
local tmpfile = wx.wxFileName()
|
||||
tmpfile:AssignTempFileName(".")
|
||||
filepath = tmpfile:GetFullPath()
|
||||
local f = io.open(filepath, "w")
|
||||
if not f then
|
||||
DisplayOutput("Can't open temporary file '"..filepath.."' for writing\n")
|
||||
return
|
||||
end
|
||||
f:write(rundebug)
|
||||
f:close()
|
||||
else
|
||||
-- if running on Windows and can't open the file, this may mean that
|
||||
-- the file path includes unicode characters that need special handling
|
||||
local fh = io.open(filepath, "r")
|
||||
if fh then fh:close() end
|
||||
if ide.osname == 'Windows' and pcall(require, "winapi")
|
||||
and wfilename:FileExists() and not fh then
|
||||
winapi.set_encoding(winapi.CP_UTF8)
|
||||
filepath = winapi.short_path(filepath)
|
||||
end
|
||||
end
|
||||
local params = ide.config.arg.any or ide.config.arg.gslshell
|
||||
local code = ([[-e "io.stdout:setvbuf('no')" "%s"]]):format(filepath)
|
||||
local cmd = '"'..gslshell..'" '..code..(params and " "..params or "")
|
||||
|
||||
-- CommandLineRun(cmd,wdir,tooutput,nohide,stringcallback,uid,endcallback)
|
||||
return CommandLineRun(cmd,self:fworkdir(wfilename),true,false,nil,nil,
|
||||
function() ide.debugger.pid = nil end)
|
||||
function() ide.debugger.pid = nil if rundebug then wx.wxRemoveFile(filepath) end end)
|
||||
end,
|
||||
fprojdir = function(self,wfilename)
|
||||
return wfilename:GetPath(wx.wxPATH_GET_VOLUME)
|
||||
@@ -75,4 +95,5 @@ return {
|
||||
skipcompile = true,
|
||||
unhideanywindow = true,
|
||||
scratchextloop = false,
|
||||
takeparameters = true,
|
||||
}
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
-- add `lfw = {chdirtofile = true}` to the configuration file to set file
|
||||
-- directory as the current one when Running or Debugging LuaForWindows projects.
|
||||
|
||||
if ide.osname ~= "Windows" or not os.getenv("LUA_DEV") then return end
|
||||
|
||||
local exe
|
||||
@@ -54,7 +57,8 @@ return {
|
||||
return wfilename:GetPath(wx.wxPATH_GET_VOLUME)
|
||||
end,
|
||||
fworkdir = function (self,wfilename)
|
||||
return wfilename:GetPath(wx.wxPATH_GET_VOLUME)
|
||||
return (not ide.config.lfw or ide.config.lfw.chdirtofile ~= true)
|
||||
and ide.config.path.projectdir or wfilename:GetPath(wx.wxPATH_GET_VOLUME)
|
||||
end,
|
||||
hasdebugger = true,
|
||||
fattachdebug = function(self) DebuggerAttachDefault() end,
|
||||
|
||||
@@ -42,8 +42,9 @@ return {
|
||||
DebuggerAttachDefault({runstart = ide.config.debugger.runonstart == true})
|
||||
end
|
||||
|
||||
local cmd = ('"%s" "%s"%s'):format(love2d,
|
||||
self:fworkdir(wfilename), rundebug and ' -debug' or '')
|
||||
local params = ide.config.arg.any or ide.config.arg.love2d
|
||||
local cmd = ('"%s" "%s"%s%s'):format(love2d, self:fworkdir(wfilename),
|
||||
params and " "..params or "", rundebug and ' -debug' or '')
|
||||
-- CommandLineRun(cmd,wdir,tooutput,nohide,stringcallback,uid,endcallback)
|
||||
return CommandLineRun(cmd,self:fworkdir(wfilename),true,false,nil,nil,
|
||||
function() ide.debugger.pid = nil end)
|
||||
@@ -57,4 +58,5 @@ return {
|
||||
hasdebugger = true,
|
||||
fattachdebug = function(self) DebuggerAttachDefault() end,
|
||||
scratchextloop = true,
|
||||
takeparameters = true,
|
||||
}
|
||||
|
||||
@@ -23,6 +23,17 @@ return {
|
||||
local filepath = wfilename:GetFullPath()
|
||||
if rundebug then
|
||||
DebuggerAttachDefault({runstart = ide.config.debugger.runonstart == true})
|
||||
|
||||
local tmpfile = wx.wxFileName()
|
||||
tmpfile:AssignTempFileName(".")
|
||||
filepath = tmpfile:GetFullPath()
|
||||
local f = io.open(filepath, "w")
|
||||
if not f then
|
||||
DisplayOutput("Can't open temporary file '"..filepath.."' for writing\n")
|
||||
return
|
||||
end
|
||||
f:write(rundebug)
|
||||
f:close()
|
||||
else
|
||||
-- if running on Windows and can't open the file, this may mean that
|
||||
-- the file path includes unicode characters that need special handling
|
||||
@@ -34,10 +45,9 @@ return {
|
||||
filepath = winapi.short_path(filepath)
|
||||
end
|
||||
end
|
||||
local code = rundebug
|
||||
and ([[-e "io.stdout:setvbuf('no'); %s"]]):format(rundebug)
|
||||
or ([[-e "io.stdout:setvbuf('no')" "%s"]]):format(filepath)
|
||||
local cmd = '"'..exe..'" '..code
|
||||
local params = ide.config.arg.any or ide.config.arg.lua
|
||||
local code = ([[-e "io.stdout:setvbuf('no')" "%s"]]):format(filepath)
|
||||
local cmd = '"'..exe..'" '..code..(params and " "..params or "")
|
||||
|
||||
-- modify CPATH to work with other Lua versions
|
||||
local clibs = ('/clibs%s/'):format(version and tostring(version):gsub('%.','') or '')
|
||||
@@ -47,7 +57,7 @@ return {
|
||||
|
||||
-- CommandLineRun(cmd,wdir,tooutput,nohide,stringcallback,uid,endcallback)
|
||||
local pid = CommandLineRun(cmd,self:fworkdir(wfilename),true,false,nil,nil,
|
||||
function() ide.debugger.pid = nil end)
|
||||
function() ide.debugger.pid = nil if rundebug then wx.wxRemoveFile(filepath) end end)
|
||||
|
||||
if version and cpath then wx.wxSetEnv("LUA_CPATH", cpath) end
|
||||
return pid
|
||||
@@ -62,6 +72,7 @@ return {
|
||||
fattachdebug = function(self) DebuggerAttachDefault() end,
|
||||
scratchextloop = false,
|
||||
unhideanywindow = true,
|
||||
takeparameters = true,
|
||||
}
|
||||
|
||||
end
|
||||
|
||||
@@ -2,94 +2,77 @@
|
||||
return {
|
||||
name = "Luxinia2",
|
||||
description = "Luxinia2",
|
||||
api = {"baselib","glfw","glewgl","assimp20","luxmath","luxgfx","luxscene","luajit2",},
|
||||
|
||||
finitclient = function(self)
|
||||
if (not CommandLineRunning(self:fuid(wfilename))) then return end
|
||||
if not ide.config.path.luxinia2 then wx.wxMessageBox("Please define 'path.luxinia2' in your cfg/user.lua (see estrela.lua for examples)"); return end
|
||||
local init = dofile(ide.config.path.luxinia2.."/../comserver/client.lua")
|
||||
local fenv = {}
|
||||
setmetatable(fenv,{__index = _G})
|
||||
fenv.print = function(...) DisplayOutput(...); DisplayOutput("\n"); end
|
||||
|
||||
setfenv(init,fenv)
|
||||
local client = init()
|
||||
|
||||
self.fclient = client
|
||||
return client
|
||||
end,
|
||||
api = {"baselib","glfw","glewgl","assimp20","luxmath","luxscene","luajit2",},
|
||||
|
||||
frun = function(self,wfilename,rundebug)
|
||||
local luxdir = ide.config.path.luxinia2
|
||||
local projdir = ide.config.path.projectdir
|
||||
assert(projdir and projdir:len()>0,"no project directory")
|
||||
local basedir = luxdir
|
||||
local startfile = projdir.."/main.lua"
|
||||
local startargs = " -e "..startfile
|
||||
|
||||
if (CommandLineRunning(self:fuid(wfilename))) then
|
||||
if (not self.fclient) then
|
||||
self:finitclient()
|
||||
end
|
||||
-- try to communicate with server
|
||||
self.fclient("dofile([["..wfilename:GetFullPath().."]])")
|
||||
local editorDir = string.gsub(ide.editorFilename:gsub("[^/\\]+$",""),"\\","/")
|
||||
local luxDir = ide.config.path.luxinia2 or os.getenv("LUXINIA2")
|
||||
local scratchpad = rundebug and rundebug:match("scratchpad")
|
||||
local filename = wfilename:GetFullName()
|
||||
|
||||
if (wx.wxFileName(luxDir):IsRelative()) then
|
||||
luxDir = editorDir..luxDir
|
||||
end
|
||||
|
||||
if (not luxDir) then
|
||||
DisplayOutputLn("Error: path.luxinia2 not set in config or LUXINIA2 environment missing")
|
||||
return
|
||||
end
|
||||
local exe = luxDir.."/luajit.exe"
|
||||
|
||||
local wdir = self:fworkdir(wfilename)
|
||||
if (wx.wxFileExists(wdir.."/main.lua")) then
|
||||
wfilename = wx.wxFileName(wdir.."/main.lua")
|
||||
DisplayOutputLn("luxinia2: using project main.lua")
|
||||
end
|
||||
|
||||
if (scratchpad and filename ~= wfilename:GetFullName()) then
|
||||
DisplayOutputLn("luxinia2: scratchpad currently requires starting with main.lua (if exists)\n However, do not edit its content, but add other files to scratchpad.\n In general you should start with the file that hosts the initialization\n and main loop, then edit other files.")
|
||||
return
|
||||
end
|
||||
|
||||
self.fclient = nil
|
||||
local fname = wfilename:GetFullName()
|
||||
local args = (fname and (" -f "..fname) or "")
|
||||
|
||||
if rundebug then
|
||||
DebuggerAttachDefault({
|
||||
basedir=basedir,
|
||||
startfile=startfile,
|
||||
run=true, noshell=true,}
|
||||
)
|
||||
local editorDir = string.gsub(ide.editorFilename:gsub("[^/\\]+$",""),"\\","/")
|
||||
script = ""..
|
||||
"package.path=package.path..';"..editorDir.."lualibs/?/?.lua';"..
|
||||
"io.stdout:setvbuf('no'); require('mobdebug').start('" .. ide.debugger.hostname.."',"..ide.debugger.portnumber..")"
|
||||
|
||||
args = args..' -es "'..script..'"'..startargs
|
||||
else
|
||||
args = " -s "..args..startargs
|
||||
local pid, proc
|
||||
if (CommandLineRunning(self:fuid(wfilename))) then
|
||||
-- kill process
|
||||
wx.wxProcess.Kill(pid)
|
||||
end
|
||||
|
||||
local jitargs = ide.config.luxinia2jitargs
|
||||
jitargs = jitargs or ""
|
||||
local cmd = 'luajit.exe '..jitargs..' ../main.lua '..args
|
||||
|
||||
|
||||
local pid = CommandLineRun(cmd,ide.config.path.luxinia2,true,true,nil,self:fuid(wfilename),
|
||||
function()
|
||||
ShellSupportRemote(nil)
|
||||
if (rundebug) then
|
||||
DebuggerStop()
|
||||
end
|
||||
end)
|
||||
|
||||
if(not pid) then return end
|
||||
|
||||
if not rundebug then
|
||||
local client = self:finitclient()
|
||||
ShellSupportRemote(client,self:fuid(wfilename))
|
||||
pid = nil
|
||||
local filename = wfilename:GetFullName()
|
||||
local args = [[ -e "io.stdout:setvbuf('no');" ]]..(ide.config.luxinia2args or "")
|
||||
-- ensure luxinia's libs come first, to allow 32- and 64-bit debugging
|
||||
-- or running from zbstudio in general, as zbs modifies LUA_CPATH
|
||||
args = args..' -e "dofile [['..luxDir..'/../setup_package_paths.lua]];"'
|
||||
|
||||
if rundebug then
|
||||
DebuggerAttachDefault({ runstart = ide.config.debugger.runonstart == true,
|
||||
startwith = wfilename:GetFullPath(),
|
||||
})
|
||||
if (scratchpad) then
|
||||
args = args..' -e "_IS_SCRATCH = true;"'
|
||||
else
|
||||
args = args..' -e "_IS_DEBUG = true;"'
|
||||
end
|
||||
end
|
||||
|
||||
args = args..(rundebug
|
||||
and ([[ -e "%s"]]):format(rundebug)
|
||||
or ([[ "%s"]]):format(filename))
|
||||
|
||||
local cmd = '"'..exe..'" '..args
|
||||
|
||||
local pid = CommandLineRun(cmd,wdir,true,true,nil,self:fuid(wfilename),
|
||||
function() ide.debugger.pid = nil end)
|
||||
|
||||
return pid
|
||||
end,
|
||||
fuid = function(self,wfilename) return "luxinia2 "..(ide.config.path.projectdir or "") end,
|
||||
fuid = function(self,wfilename) return "luxinia2: luajit "..wfilename:GetFullName() end,
|
||||
fprojdir = function(self,wfilename)
|
||||
local path = GetPathWithSep(wfilename)
|
||||
filepath = wx.wxFileName(path)
|
||||
|
||||
while ((not wx.wxFileExists(path.."main.lua")) and (filepath:GetDirCount() > 0)) do
|
||||
filepath:RemoveDir(filepath:GetDirCount()-1)
|
||||
path = GetPathWithSep(filepath)
|
||||
end
|
||||
|
||||
return path:sub(0,-2)
|
||||
return wfilename:GetPath(wx.wxPATH_GET_VOLUME)
|
||||
end,
|
||||
fworkdir = function (self,wfilename)
|
||||
return ide.config.path.projectdir or wfilename:GetPath(wx.wxPATH_GET_VOLUME)
|
||||
end,
|
||||
hasdebugger = true,
|
||||
fattachdebug = function(self) DebuggerAttachDefault() end,
|
||||
scratchextloop = true,
|
||||
}
|
||||
|
||||
@@ -58,7 +58,7 @@ function parser_metatable.__call (parser, lx, ...)
|
||||
-- lexstream.
|
||||
-- Since the error is rethrown, these places are stacked.
|
||||
error (string.format ("%s\n - (l.%s, c.%s, k.%s) in parser %s",
|
||||
ast :strmatch "gg.lua:%d+: (.*)" or ast,
|
||||
ast:match "gg.lua:%d+: (.*)" or ast,
|
||||
li[1], li[2], li[3], parser.name or parser.kind))
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,104 +0,0 @@
|
||||
----------------------------------------------------------------------
|
||||
----------------------------------------------------------------------
|
||||
--
|
||||
-- Base library extension
|
||||
--
|
||||
----------------------------------------------------------------------
|
||||
----------------------------------------------------------------------
|
||||
|
||||
if not metalua then rawset(getfenv(), 'metalua', { }) end
|
||||
metalua.version = "v-0.5"
|
||||
|
||||
if not rawpairs then
|
||||
rawpairs, rawipairs, rawtype = pairs, ipairs, type
|
||||
end
|
||||
|
||||
function pairs(x)
|
||||
assert(type(x)=='table', 'pairs() expects a table')
|
||||
local mt = getmetatable(x)
|
||||
if mt then
|
||||
local mtp = mt.__pairs
|
||||
if mtp then return mtp(x) end
|
||||
end
|
||||
return rawpairs(x)
|
||||
end
|
||||
|
||||
function ipairs(x)
|
||||
assert(type(x)=='table', 'ipairs() expects a table')
|
||||
local mt = getmetatable(x)
|
||||
if mt then
|
||||
local mti = mt.__ipairs
|
||||
if mti then return mti(x) end
|
||||
end
|
||||
return rawipairs(x)
|
||||
end
|
||||
|
||||
--[[
|
||||
function type(x)
|
||||
local mt = getmetatable(x)
|
||||
if mt then
|
||||
local mtt = mt.__type
|
||||
if mtt then return mtt end
|
||||
end
|
||||
return rawtype(x)
|
||||
end
|
||||
]]
|
||||
|
||||
function min (a, ...)
|
||||
for n in values{...} do if n<a then a=n end end
|
||||
return a
|
||||
end
|
||||
|
||||
function max (a, ...)
|
||||
for n in values{...} do if n>a then a=n end end
|
||||
return a
|
||||
end
|
||||
|
||||
function o (...)
|
||||
local args = {...}
|
||||
local function g (...)
|
||||
local result = {...}
|
||||
for i=#args, 1, -1 do result = {args[i](unpack(result))} end
|
||||
return unpack (result)
|
||||
end
|
||||
return g
|
||||
end
|
||||
|
||||
function id (...) return ... end
|
||||
function const (k) return function () return k end end
|
||||
|
||||
function printf(...) return print(string.format(...)) end
|
||||
function eprintf(...)
|
||||
io.stderr:write(string.format(...).."\n")
|
||||
end
|
||||
|
||||
function ivalues (x)
|
||||
assert(type(x)=='table', 'ivalues() expects a table')
|
||||
local i = 1
|
||||
local function iterator ()
|
||||
local r = x[i]; i=i+1; return r
|
||||
end
|
||||
return iterator
|
||||
end
|
||||
|
||||
|
||||
function values (x)
|
||||
assert(type(x)=='table', 'values() expects a table')
|
||||
local function iterator (state)
|
||||
local it
|
||||
state.content, it = next(state.list, state.content)
|
||||
return it
|
||||
end
|
||||
return iterator, { list = x }
|
||||
end
|
||||
|
||||
function keys (x)
|
||||
assert(type(x)=='table', 'keys() expects a table')
|
||||
local function iterator (state)
|
||||
local it = next(state.list, state.content)
|
||||
state.content = it
|
||||
return it
|
||||
end
|
||||
return iterator, { list = x }
|
||||
end
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
require 'metalua.base'
|
||||
require 'metalua.table2'
|
||||
require 'metalua.string2'
|
||||
@@ -1,43 +0,0 @@
|
||||
----------------------------------------------------------------------
|
||||
----------------------------------------------------------------------
|
||||
--
|
||||
-- String module extension
|
||||
--
|
||||
----------------------------------------------------------------------
|
||||
----------------------------------------------------------------------
|
||||
|
||||
-- Courtesy of lua-users.org
|
||||
function string.split(str, pat)
|
||||
local t = {}
|
||||
local fpat = "(.-)" .. pat
|
||||
local last_end = 1
|
||||
local s, e, cap = string.find(str, fpat, 1)
|
||||
while s do
|
||||
if s ~= 1 or cap ~= "" then
|
||||
table.insert(t,cap)
|
||||
end
|
||||
last_end = e+1
|
||||
s, e, cap = string.find(str, fpat, last_end)
|
||||
end
|
||||
if last_end <= string.len(str) then
|
||||
cap = string.sub(str, last_end)
|
||||
table.insert(t, cap)
|
||||
end
|
||||
return t
|
||||
end
|
||||
|
||||
-- "match" is regularly used as a keyword for pattern matching,
|
||||
-- so here is an always available substitute.
|
||||
string.strmatch = string["match"]
|
||||
|
||||
-- change a compiled string into a function
|
||||
function string.undump(str)
|
||||
if str:strmatch '^\027LuaQ' or str:strmatch '^#![^\n]+\n\027LuaQ' then
|
||||
local f = (lua_loadstring or loadstring)(str)
|
||||
return f
|
||||
else
|
||||
error "Not a chunk dump"
|
||||
end
|
||||
end
|
||||
|
||||
return string
|
||||
@@ -1,39 +1,46 @@
|
||||
--
|
||||
-- MobDebug 0.55
|
||||
-- Copyright 2011-13 Paul Kulchenko
|
||||
-- MobDebug 0.5511
|
||||
-- Copyright 2011-14 Paul Kulchenko
|
||||
-- Based on RemDebug 1.0 Copyright Kepler Project 2005
|
||||
--
|
||||
|
||||
-- use loaded modules or load explicitly on those systems that require that
|
||||
local require = require
|
||||
local io = io or require "io"
|
||||
local table = table or require "table"
|
||||
local string = string or require "string"
|
||||
local coroutine = coroutine or require "coroutine"
|
||||
-- protect require "os" as it may fail on embedded systems without os module
|
||||
local os = os or (function(module)
|
||||
local ok, res = pcall(require, module)
|
||||
return ok and res or nil
|
||||
end)("os")
|
||||
|
||||
local mobdebug = {
|
||||
_NAME = "mobdebug",
|
||||
_VERSION = 0.55,
|
||||
_VERSION = 0.5511,
|
||||
_COPYRIGHT = "Paul Kulchenko",
|
||||
_DESCRIPTION = "Mobile Remote Debugger for the Lua programming language",
|
||||
port = os and os.getenv and os.getenv("MOBDEBUG_PORT") or 8172,
|
||||
port = os and os.getenv and tonumber(os.getenv("MOBDEBUG_PORT")) or 8172,
|
||||
checkcount = 200,
|
||||
yieldtimeout = 0.02,
|
||||
}
|
||||
|
||||
local coroutine = coroutine
|
||||
local error = error
|
||||
local getfenv = getfenv
|
||||
local setfenv = setfenv
|
||||
local loadstring = loadstring or load -- "load" replaced "loadstring" in Lua 5.2
|
||||
local io = io
|
||||
local os = os
|
||||
local pairs = pairs
|
||||
local require = require
|
||||
local setmetatable = setmetatable
|
||||
local string = string
|
||||
local tonumber = tonumber
|
||||
local unpack = table.unpack or unpack
|
||||
local rawget = rawget
|
||||
|
||||
-- if strict.lua is used, then need to avoid referencing some global
|
||||
-- variables, as they can be undefined;
|
||||
-- use rawget to to avoid complaints from strict.lua at run-time.
|
||||
-- use rawget to avoid complaints from strict.lua at run-time.
|
||||
-- it's safe to do the initialization here as all these variables
|
||||
-- should get defined values (of any) before the debugging starts.
|
||||
-- should get defined values (if any) before the debugging starts.
|
||||
-- there is also global 'wx' variable, which is checked as part of
|
||||
-- the debug loop as 'wx' can be loaded at any time during debugging.
|
||||
local genv = _G or _ENV
|
||||
@@ -98,7 +105,7 @@ local outputs = {}
|
||||
local iobase = {print = print}
|
||||
local basedir = ""
|
||||
local deferror = "execution aborted at default debugee"
|
||||
local debugee = function ()
|
||||
local debugee = function ()
|
||||
local a = 1
|
||||
for _ = 1, 10 do a = a + 1 end
|
||||
error(deferror)
|
||||
@@ -106,7 +113,7 @@ end
|
||||
local function q(s) return s:gsub('([%(%)%.%%%+%-%*%?%[%^%$%]])','%%%1') end
|
||||
|
||||
local serpent = (function() ---- include Serpent module for serialization
|
||||
local n, v = "serpent", 0.25 -- (C) 2012-13 Paul Kulchenko; MIT License
|
||||
local n, v = "serpent", 0.272 -- (C) 2012-13 Paul Kulchenko; MIT License
|
||||
local c, d = "Paul Kulchenko", "Lua serializer and pretty printer"
|
||||
local snum = {[tostring(1/0)]='1/0 --[[math.huge]]',[tostring(-1/0)]='-1/0 --[[-math.huge]]',[tostring(0/0)]='0/0'}
|
||||
local badtype = {thread = true, userdata = true, cdata = true}
|
||||
@@ -116,7 +123,7 @@ for _,k in ipairs({'and', 'break', 'do', 'else', 'elseif', 'end', 'false',
|
||||
'return', 'then', 'true', 'until', 'while'}) do keyword[k] = true end
|
||||
for k,v in pairs(G) do globals[v] = k end -- build func to name mapping
|
||||
for _,g in ipairs({'coroutine', 'debug', 'io', 'math', 'string', 'table', 'os'}) do
|
||||
for k,v in pairs(G[g]) do globals[v] = g..'.'..k end end
|
||||
for k,v in pairs(G[g] or {}) do globals[v] = g..'.'..k end end
|
||||
|
||||
local function s(t, opts)
|
||||
local name, indent, fatal, maxnum = opts.name, opts.indent, opts.fatal, opts.maxnum
|
||||
@@ -138,13 +145,13 @@ local function s(t, opts)
|
||||
local plain = type(n) == "string" and n:match("^[%l%u_][%w_]*$") and not keyword[n]
|
||||
local safe = plain and n or '['..safestr(n)..']'
|
||||
return (path or '')..(plain and path and '.' or '')..safe, safe end
|
||||
local alphanumsort = type(opts.sortkeys) == 'function' and opts.sortkeys or function(k, o, n) -- k=keys, o=originaltable, n=padding
|
||||
local alphanumsort = type(opts.sortkeys) == 'function' and opts.sortkeys or function(k, o, n) -- k=keys, o=originaltable, n=padding
|
||||
local maxn, to = tonumber(n) or 12, {number = 'a', string = 'b'}
|
||||
local function padnum(d) return ("%0"..maxn.."d"):format(d) end
|
||||
table.sort(k, function(a,b)
|
||||
-- sort numeric keys first: k[key] is non-nil for numeric keys
|
||||
return (k[a] and 0 or to[type(a)] or 'z')..(tostring(a):gsub("%d+",padnum))
|
||||
< (k[b] and 0 or to[type(b)] or 'z')..(tostring(b):gsub("%d+",padnum)) end) end
|
||||
-- sort numeric keys first: k[key] is not nil for numerical keys
|
||||
return (k[a] ~= nil and 0 or to[type(a)] or 'z')..(tostring(a):gsub("%d+",padnum))
|
||||
< (k[b] ~= nil and 0 or to[type(b)] or 'z')..(tostring(b):gsub("%d+",padnum)) end) end
|
||||
local function val2str(t, name, indent, insref, path, plainindex, level)
|
||||
local ttype, level, mt = type(t), (level or 0), getmetatable(t)
|
||||
local spath, sname = safename(path, name)
|
||||
@@ -200,7 +207,7 @@ local function s(t, opts)
|
||||
seen[t] = insref or spath
|
||||
local ok, res = pcall(string.dump, t)
|
||||
local func = ok and ((opts.nocode and "function() --[[..skipped..]] end" or
|
||||
"loadstring("..safestr(res)..",'@serialized')")..comment(t, level))
|
||||
"((loadstring or load)("..safestr(res)..",'@serialized'))")..comment(t, level))
|
||||
return tag..(func or globerr(t, level))
|
||||
else return tag..safestr(t) end -- handle all other types
|
||||
end
|
||||
@@ -211,8 +218,26 @@ local function s(t, opts)
|
||||
return not name and body..warn or "do local "..body..sepr..tail.."return "..name..sepr.."end"
|
||||
end
|
||||
|
||||
local function deserialize(data, opts)
|
||||
local f, res = (loadstring or load)('return '..data)
|
||||
if not f then f, res = (loadstring or load)(data) end
|
||||
if not f then return f, res end
|
||||
if opts and opts.safe == false then return pcall(f) end
|
||||
|
||||
local count, thread = 0, coroutine.running()
|
||||
local h, m, c = debug.gethook(thread)
|
||||
debug.sethook(function (e, l) count = count + 1
|
||||
if count >= 3 then error("cannot call functions") end
|
||||
end, "c")
|
||||
local res = {pcall(f)}
|
||||
count = 0 -- set again, otherwise it's tripped on the next sethook
|
||||
debug.sethook(thread, h, m, c)
|
||||
return (table.unpack or unpack)(res)
|
||||
end
|
||||
|
||||
local function merge(a, b) if b then for k,v in pairs(b) do a[k] = v end end; return a; end
|
||||
return { _NAME = n, _COPYRIGHT = c, _DESCRIPTION = d, _VERSION = v, serialize = s,
|
||||
load = deserialize,
|
||||
dump = function(a, opts) return s(a, merge({name = '_', compact = true, sparse = true}, opts)) end,
|
||||
line = function(a, opts) return s(a, merge({sortkeys = true, comment = true}, opts)) end,
|
||||
block = function(a, opts) return s(a, merge({indent = ' ', sortkeys = true, comment = true}, opts)) end }
|
||||
@@ -544,7 +569,7 @@ local function debug_hook(event, line)
|
||||
-- need to recheck once more as resume after 'stack' command may
|
||||
-- return something else (for example, 'exit'), which needs to be handled
|
||||
if status and res and res ~= 'stack' then
|
||||
if abort == nil and res == "exit" then os.exit(1); return end
|
||||
if abort == nil and res == "exit" then os.exit(1, true); return end
|
||||
abort = res
|
||||
-- only abort if safe; if not, there is another (earlier) check inside
|
||||
-- debug_hook, which will abort execution at the first safe opportunity
|
||||
@@ -638,7 +663,7 @@ local function debugger_loop(sev, svars, sfile, sline)
|
||||
end
|
||||
elseif command == "EXEC" then
|
||||
local _, _, chunk = string.find(line, "^[A-Z]+%s+(.+)$")
|
||||
if chunk then
|
||||
if chunk then
|
||||
local func, res = loadstring(chunk)
|
||||
local status
|
||||
if func then
|
||||
@@ -696,13 +721,13 @@ local function debugger_loop(sev, svars, sfile, sline)
|
||||
end
|
||||
elseif command == "SETW" then
|
||||
local _, _, exp = string.find(line, "^[A-Z]+%s+(.+)%s*$")
|
||||
if exp then
|
||||
if exp then
|
||||
local func, res = loadstring("return(" .. exp .. ")")
|
||||
if func then
|
||||
watchescnt = watchescnt + 1
|
||||
local newidx = #watches + 1
|
||||
watches[newidx] = func
|
||||
server:send("200 OK " .. newidx .. "\n")
|
||||
server:send("200 OK " .. newidx .. "\n")
|
||||
else
|
||||
server:send("401 Error in Expression " .. #res .. "\n")
|
||||
server:send(res)
|
||||
@@ -754,8 +779,8 @@ local function debugger_loop(sev, svars, sfile, sline)
|
||||
elseif command == "OVER" or command == "OUT" then
|
||||
server:send("200 OK\n")
|
||||
step_over = true
|
||||
|
||||
-- OVER and OUT are very similar except for
|
||||
|
||||
-- OVER and OUT are very similar except for
|
||||
-- the stack level value at which to stop
|
||||
if command == "OUT" then step_level = stack_level - 1
|
||||
else step_level = stack_level end
|
||||
@@ -1020,7 +1045,7 @@ local function off()
|
||||
end
|
||||
end
|
||||
|
||||
-- Handles server debugging commands
|
||||
-- Handles server debugging commands
|
||||
local function handle(params, client, options)
|
||||
local _, _, command = string.find(params, "^([a-z]+)")
|
||||
local file, line, watch_idx
|
||||
@@ -1033,7 +1058,7 @@ local function handle(params, client, options)
|
||||
local breakpoint = client:receive()
|
||||
if not breakpoint then
|
||||
print("Program finished")
|
||||
os.exit()
|
||||
os.exit(0, true)
|
||||
return -- use return here for those cases where os.exit() is not wanted
|
||||
end
|
||||
local _, _, status = string.find(breakpoint, "^(%d+)")
|
||||
@@ -1063,12 +1088,12 @@ local function handle(params, client, options)
|
||||
if size then
|
||||
local msg = client:receive(tonumber(size))
|
||||
print("Error in remote application: " .. msg)
|
||||
os.exit(1)
|
||||
os.exit(1, true)
|
||||
return nil, nil, msg -- use return here for those cases where os.exit() is not wanted
|
||||
end
|
||||
else
|
||||
print("Unknown error")
|
||||
os.exit(1)
|
||||
os.exit(1, true)
|
||||
-- use return here for those cases where os.exit() is not wanted
|
||||
return nil, nil, "Debugger error: unexpected response '" .. breakpoint .. "'"
|
||||
end
|
||||
@@ -1121,7 +1146,7 @@ local function handle(params, client, options)
|
||||
file = removebasedir(file, basedir)
|
||||
end
|
||||
client:send("DELB " .. file .. " " .. line .. "\n")
|
||||
if client:receive() == "200 OK" then
|
||||
if client:receive() == "200 OK" then
|
||||
remove_breakpoint(file, line)
|
||||
else
|
||||
print("Error: breakpoint not removed")
|
||||
@@ -1144,7 +1169,7 @@ local function handle(params, client, options)
|
||||
local _, _, index = string.find(params, "^[a-z]+%s+(%d+)%s*$")
|
||||
if index then
|
||||
client:send("DELW " .. index .. "\n")
|
||||
if client:receive() == "200 OK" then
|
||||
if client:receive() == "200 OK" then
|
||||
watches[index] = nil
|
||||
else
|
||||
print("Error: watch expression not removed")
|
||||
@@ -1155,17 +1180,17 @@ local function handle(params, client, options)
|
||||
elseif command == "delallw" then
|
||||
for index, exp in pairs(watches) do
|
||||
client:send("DELW " .. index .. "\n")
|
||||
if client:receive() == "200 OK" then
|
||||
if client:receive() == "200 OK" then
|
||||
watches[index] = nil
|
||||
else
|
||||
print("Error: watch expression at index " .. index .. " [" .. exp .. "] not removed")
|
||||
end
|
||||
end
|
||||
elseif command == "eval" or command == "exec"
|
||||
end
|
||||
elseif command == "eval" or command == "exec"
|
||||
or command == "load" or command == "loadstring"
|
||||
or command == "reload" then
|
||||
local _, _, exp = string.find(params, "^[a-z]+%s+(.+)$")
|
||||
if exp or (command == "reload") then
|
||||
if exp or (command == "reload") then
|
||||
if command == "eval" or command == "exec" then
|
||||
exp = (exp:gsub("%-%-%[(=*)%[.-%]%1%]", "") -- remove comments
|
||||
:gsub("%-%-.-\n", " ") -- remove line comments
|
||||
@@ -1265,7 +1290,7 @@ local function handle(params, client, options)
|
||||
elseif command == "listw" then
|
||||
for i, v in pairs(watches) do
|
||||
print("Watch exp. " .. i .. ": " .. v)
|
||||
end
|
||||
end
|
||||
elseif command == "suspend" then
|
||||
client:send("SUSPEND\n")
|
||||
elseif command == "stack" then
|
||||
|
||||
239
lualibs/sha2.lua
Normal file
239
lualibs/sha2.lua
Normal file
@@ -0,0 +1,239 @@
|
||||
-- SHA-256 code in Lua 5.2; based on the pseudo-code from
|
||||
-- Wikipedia (http://en.wikipedia.org/wiki/SHA-2)
|
||||
-- from http://lua-users.org/wiki/SecureHashAlgorithm
|
||||
|
||||
local band, rrotate, bxor, rshift, bnot =
|
||||
bit32.band, bit32.rrotate, bit32.bxor, bit32.rshift, bit32.bnot
|
||||
|
||||
local string, setmetatable, assert = string, setmetatable, assert
|
||||
|
||||
-- Initialize table of round constants
|
||||
-- (first 32 bits of the fractional parts of the cube roots of the first
|
||||
-- 64 primes 2..311):
|
||||
local k = {
|
||||
0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,
|
||||
0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
|
||||
0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,
|
||||
0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
|
||||
0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,
|
||||
0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
|
||||
0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,
|
||||
0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
|
||||
0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,
|
||||
0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
|
||||
0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,
|
||||
0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
|
||||
0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,
|
||||
0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
|
||||
0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,
|
||||
0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2,
|
||||
}
|
||||
|
||||
|
||||
-- transform a string of bytes in a string of hexadecimal digits
|
||||
local function str2hexa (s)
|
||||
local h = string.gsub(s, ".", function(c)
|
||||
return string.format("%02x", string.byte(c))
|
||||
end)
|
||||
return h
|
||||
end
|
||||
|
||||
|
||||
-- transform number 'l' in a big-endian sequence of 'n' bytes
|
||||
-- (coded as a string)
|
||||
local function num2s (l, n)
|
||||
local s = ""
|
||||
for i = 1, n do
|
||||
local rem = l % 256
|
||||
s = string.char(rem) .. s
|
||||
l = (l - rem) / 256
|
||||
end
|
||||
return s
|
||||
end
|
||||
|
||||
-- transform the big-endian sequence of four bytes starting at
|
||||
-- index 'i' in 's' into a number
|
||||
local function s232num (s, i)
|
||||
local n = 0
|
||||
for i = i, i + 3 do
|
||||
n = n*256 + string.byte(s, i)
|
||||
end
|
||||
return n
|
||||
end
|
||||
|
||||
|
||||
-- append the bit '1' to the message
|
||||
-- append k bits '0', where k is the minimum number >= 0 such that the
|
||||
-- resulting message length (in bits) is congruent to 448 (mod 512)
|
||||
-- append length of message (before pre-processing), in bits, as 64-bit
|
||||
-- big-endian integer
|
||||
local function preproc (msg, len)
|
||||
local extra = 64 - ((len + 1 + 8) % 64)
|
||||
len = num2s(8 * len, 8) -- original len in bits, coded
|
||||
msg = msg .. "\128" .. string.rep("\0", extra) .. len
|
||||
assert(#msg % 64 == 0)
|
||||
return msg
|
||||
end
|
||||
|
||||
|
||||
local function initH224 (H)
|
||||
-- (second 32 bits of the fractional parts of the square roots of the
|
||||
-- 9th through 16th primes 23..53)
|
||||
H[1] = 0xc1059ed8
|
||||
H[2] = 0x367cd507
|
||||
H[3] = 0x3070dd17
|
||||
H[4] = 0xf70e5939
|
||||
H[5] = 0xffc00b31
|
||||
H[6] = 0x68581511
|
||||
H[7] = 0x64f98fa7
|
||||
H[8] = 0xbefa4fa4
|
||||
return H
|
||||
end
|
||||
|
||||
|
||||
local function initH256 (H)
|
||||
-- (first 32 bits of the fractional parts of the square roots of the
|
||||
-- first 8 primes 2..19):
|
||||
H[1] = 0x6a09e667
|
||||
H[2] = 0xbb67ae85
|
||||
H[3] = 0x3c6ef372
|
||||
H[4] = 0xa54ff53a
|
||||
H[5] = 0x510e527f
|
||||
H[6] = 0x9b05688c
|
||||
H[7] = 0x1f83d9ab
|
||||
H[8] = 0x5be0cd19
|
||||
return H
|
||||
end
|
||||
|
||||
|
||||
local function digestblock (msg, i, H)
|
||||
|
||||
-- break chunk into sixteen 32-bit big-endian words w[1..16]
|
||||
local w = {}
|
||||
for j = 1, 16 do
|
||||
w[j] = s232num(msg, i + (j - 1)*4)
|
||||
end
|
||||
|
||||
-- Extend the sixteen 32-bit words into sixty-four 32-bit words:
|
||||
for j = 17, 64 do
|
||||
local v = w[j - 15]
|
||||
local s0 = bxor(rrotate(v, 7), rrotate(v, 18), rshift(v, 3))
|
||||
v = w[j - 2]
|
||||
local s1 = bxor(rrotate(v, 17), rrotate(v, 19), rshift(v, 10))
|
||||
w[j] = w[j - 16] + s0 + w[j - 7] + s1
|
||||
end
|
||||
|
||||
-- Initialize hash value for this chunk:
|
||||
local a, b, c, d, e, f, g, h =
|
||||
H[1], H[2], H[3], H[4], H[5], H[6], H[7], H[8]
|
||||
|
||||
-- Main loop:
|
||||
for i = 1, 64 do
|
||||
local s0 = bxor(rrotate(a, 2), rrotate(a, 13), rrotate(a, 22))
|
||||
local maj = bxor(band(a, b), band(a, c), band(b, c))
|
||||
local t2 = s0 + maj
|
||||
local s1 = bxor(rrotate(e, 6), rrotate(e, 11), rrotate(e, 25))
|
||||
local ch = bxor (band(e, f), band(bnot(e), g))
|
||||
local t1 = h + s1 + ch + k[i] + w[i]
|
||||
|
||||
h = g
|
||||
g = f
|
||||
f = e
|
||||
e = d + t1
|
||||
d = c
|
||||
c = b
|
||||
b = a
|
||||
a = t1 + t2
|
||||
end
|
||||
|
||||
-- Add (mod 2^32) this chunk's hash to result so far:
|
||||
H[1] = band(H[1] + a)
|
||||
H[2] = band(H[2] + b)
|
||||
H[3] = band(H[3] + c)
|
||||
H[4] = band(H[4] + d)
|
||||
H[5] = band(H[5] + e)
|
||||
H[6] = band(H[6] + f)
|
||||
H[7] = band(H[7] + g)
|
||||
H[8] = band(H[8] + h)
|
||||
|
||||
end
|
||||
|
||||
|
||||
local function finalresult224 (H)
|
||||
-- Produce the final hash value (big-endian):
|
||||
return
|
||||
str2hexa(num2s(H[1], 4)..num2s(H[2], 4)..num2s(H[3], 4)..num2s(H[4], 4)..
|
||||
num2s(H[5], 4)..num2s(H[6], 4)..num2s(H[7], 4))
|
||||
end
|
||||
|
||||
|
||||
local function finalresult256 (H)
|
||||
-- Produce the final hash value (big-endian):
|
||||
return
|
||||
str2hexa(num2s(H[1], 4)..num2s(H[2], 4)..num2s(H[3], 4)..num2s(H[4], 4)..
|
||||
num2s(H[5], 4)..num2s(H[6], 4)..num2s(H[7], 4)..num2s(H[8], 4))
|
||||
end
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
local HH = {} -- to reuse
|
||||
|
||||
local function hash224 (msg)
|
||||
msg = preproc(msg, #msg)
|
||||
local H = initH224(HH)
|
||||
|
||||
-- Process the message in successive 512-bit (64 bytes) chunks:
|
||||
for i = 1, #msg, 64 do
|
||||
digestblock(msg, i, H)
|
||||
end
|
||||
|
||||
return finalresult224(H)
|
||||
end
|
||||
|
||||
|
||||
local function hash256 (msg)
|
||||
msg = preproc(msg, #msg)
|
||||
local H = initH256(HH)
|
||||
|
||||
-- Process the message in successive 512-bit (64 bytes) chunks:
|
||||
for i = 1, #msg, 64 do
|
||||
digestblock(msg, i, H)
|
||||
end
|
||||
|
||||
return finalresult256(H)
|
||||
end
|
||||
----------------------------------------------------------------------
|
||||
local mt = {}
|
||||
|
||||
local function new256 ()
|
||||
local o = {H = initH256({}), msg = "", len = 0}
|
||||
setmetatable(o, mt)
|
||||
return o
|
||||
end
|
||||
|
||||
mt.__index = mt
|
||||
|
||||
function mt:add (m)
|
||||
self.msg = self.msg .. m
|
||||
self.len = self.len + #m
|
||||
local t = 0
|
||||
while #self.msg - t >= 64 do
|
||||
digestblock(self.msg, t + 1, self.H)
|
||||
t = t + 64
|
||||
end
|
||||
self.msg = self.msg:sub(t + 1, -1)
|
||||
end
|
||||
|
||||
|
||||
function mt:close ()
|
||||
self.msg = preproc(self.msg, self.len)
|
||||
self:add("")
|
||||
return finalresult256(self.H)
|
||||
end
|
||||
----------------------------------------------------------------------
|
||||
|
||||
return {
|
||||
hash224 = hash224,
|
||||
hash256 = hash256,
|
||||
new256 = new256,
|
||||
}
|
||||
@@ -1,12 +1,18 @@
|
||||
-- authors: Luxinia Dev (Eike Decker & Christoph Kubisch)
|
||||
---------------------------------------------------------
|
||||
|
||||
local funccall = "([A-Za-z_][A-Za-z0-9_]*)%s*"
|
||||
|
||||
return {
|
||||
exts = {"cg","cgh","fx","fxh","cgfx","cgfxh",},
|
||||
exts = {"cg","cgh","cgfx","cgfxh",},
|
||||
lexer = wxstc.wxSTC_LEX_CPP,
|
||||
apitype = "cg",
|
||||
sep = "%.",
|
||||
linecomment = "//",
|
||||
|
||||
isfncall = function(str)
|
||||
return string.find(str, funccall .. "%(")
|
||||
end,
|
||||
|
||||
isfndef = function(str)
|
||||
local l
|
||||
|
||||
@@ -1,12 +1,18 @@
|
||||
-- authors: Luxinia Dev (Eike Decker & Christoph Kubisch)
|
||||
---------------------------------------------------------
|
||||
|
||||
local funccall = "([A-Za-z_][A-Za-z0-9_]*)%s*"
|
||||
|
||||
return {
|
||||
exts = {"glsl","vert","frag","geom","cont","eval", "glslv", "glslf"},
|
||||
lexer = wxstc.wxSTC_LEX_CPP,
|
||||
apitype = "glsl",
|
||||
sep = "%.",
|
||||
linecomment = "//",
|
||||
|
||||
isfncall = function(str)
|
||||
return string.find(str, funccall .. "%(")
|
||||
end,
|
||||
|
||||
isfndef = function(str)
|
||||
local l
|
||||
@@ -83,7 +89,7 @@ return {
|
||||
gl_NumWorkGroups gl_WorkGroupSize gl_WorkGroupID gl_LocalInvocationID gl_GlobalInvocationID gl_LocalInvocationIndex
|
||||
local_size_x local_size_y local_size_z
|
||||
gl_BaseVertexARB gl_BaseInstanceARB gl_DrawIDARB
|
||||
bindless_sampler bound_sampler bindless_image bound_image
|
||||
bindless_sampler bound_sampler bindless_image bound_image early_fragment_tests
|
||||
|
||||
coherent volatile restrict readonly writeonly
|
||||
image1D image2D image3D image2DRect imageCube imageBuffer image1DArray image2DArray imageCubeArray image2DMS image2DMSArray
|
||||
@@ -152,7 +158,7 @@ return {
|
||||
imageAtomicAdd imageAtomicMin imageAtomicMax
|
||||
imageAtomicIncWrap imageAtomicDecWrap imageAtomicAnd
|
||||
imageAtomicOr imageAtomixXor imageAtomicExchange
|
||||
imageCompSwap
|
||||
imageAtomicCompSwap imageSize
|
||||
|
||||
memoryBarrier groupMemoryBarrier memoryBarrierAtomicCounter memoryBarrierShared memoryBarrierBuffer memoryBarrierImage
|
||||
|
||||
|
||||
@@ -1,12 +1,18 @@
|
||||
-- authors: Luxinia Dev (Eike Decker & Christoph Kubisch)
|
||||
---------------------------------------------------------
|
||||
|
||||
local funccall = "([A-Za-z_][A-Za-z0-9_]*)%s*"
|
||||
|
||||
return {
|
||||
exts = {"hlsl",},
|
||||
exts = {"hlsl","fx","fxh",},
|
||||
lexer = wxstc.wxSTC_LEX_CPP,
|
||||
apitype = "hlsl",
|
||||
sep = "%.",
|
||||
linecomment = "//",
|
||||
|
||||
isfncall = function(str)
|
||||
return string.find(str, funccall .. "%(")
|
||||
end,
|
||||
|
||||
isfndef = function(str)
|
||||
local l
|
||||
@@ -47,7 +53,8 @@ return {
|
||||
half2x3 half2x4 half3x1 half3x2 half3x3 half3x4 half4x1 half4x2 half4x3 half4x4 float1x1 float1x2 float1x3 float1x4 float2x1 float2x2 float2x3
|
||||
float2x4 float3x1 float3x2 float3x3 float3x4 float4x1 float4x2 float4x3 float4x4 double1x1 double1x2 double1x3 double1x4 double2x1 double2x2
|
||||
double2x3 double2x4 double3x1 double3x2 double3x3 double3x4 double4x1 double4x2 double4x3 double4x4 cbuffer groupshared SamplerState
|
||||
in out inout vector matrix interface class point triangle line lineadj triangleadj
|
||||
in out inout vector matrix interface class point triangle line lineadj triangleadj unsigned
|
||||
pass technique technique10 technique11
|
||||
|
||||
Texture Texture1D Texture1DArray Texture2D Texture2DArray Texture2DMS Texture2DMSArray Texture3D TextureCube RWTexture1D RWTexture1DArray RWTexture2D RWTexture2DArray RWTexture3D
|
||||
Buffer StructuredBuffer AppendStructuredBuffer ConsumeStructuredBuffer RWBuffer RWStructuredBuffer ByteAddressBuffer RWByteAddressBuffer PointStream TriangleStream LineStream InputPatch OutputPatch
|
||||
|
||||
@@ -164,7 +164,6 @@ return {
|
||||
and (not typ:match('^'..identifier..'$') -- not an identifier
|
||||
or typ:match('^%d') -- or a number
|
||||
or editor.api.tip.keys[typ] -- or a keyword
|
||||
or editor.api.tip.staticnames[typ] -- or a static name
|
||||
) then
|
||||
typ = nil
|
||||
end
|
||||
|
||||
@@ -36,12 +36,18 @@ for i in astypes:gmatch("([%w_]+)") do
|
||||
end
|
||||
astypeout = table.concat(astypeout, " ")
|
||||
|
||||
local funccall = "([A-Za-z_][A-Za-z0-9_]*)%s*"
|
||||
|
||||
return {
|
||||
exts = {"cl","ocl","clh",},
|
||||
lexer = wxstc.wxSTC_LEX_CPP,
|
||||
apitype = "opencl",
|
||||
sep = "%.",
|
||||
linecomment = "//",
|
||||
|
||||
isfncall = function(str)
|
||||
return string.find(str, funccall .. "%(")
|
||||
end,
|
||||
|
||||
isfndef = function(str)
|
||||
local l
|
||||
|
||||
21
src/defs.lua
21
src/defs.lua
@@ -59,7 +59,6 @@ style = {
|
||||
calltip = stattr,
|
||||
|
||||
-- common special (need custom fg & bg )
|
||||
calltipbg = nil,
|
||||
sel = nil,
|
||||
caret = nil,
|
||||
caretlinebg = nil,
|
||||
@@ -124,17 +123,17 @@ config = {
|
||||
runonstart = nil, -- if debugger should run immediately after starting
|
||||
-- default values are different for different interpreters
|
||||
redirect = nil, -- "d", "c", or "r" values for default, copy, or redirect
|
||||
}
|
||||
},
|
||||
|
||||
outputshell = { -- output and shell settings
|
||||
fontname = "Courier New", -- default font
|
||||
fontsize = 10, -- defult size
|
||||
}
|
||||
},
|
||||
|
||||
filetree = { -- filetree settings
|
||||
fontname = nil, -- no default font as it is system dependent
|
||||
fontsize = nil, -- no default size as it is system dependent
|
||||
}
|
||||
},
|
||||
|
||||
keymap = {}, -- mapping of menu IDs to hot keys
|
||||
messages = {}, -- list of messages in a particular language
|
||||
@@ -158,7 +157,9 @@ config = {
|
||||
-- 1: substring leading characters (camel case or _ separated)
|
||||
-- 2: leading + any correctly ordered fragments (default)
|
||||
width = 60, -- width of the tooltip text (in characters)
|
||||
}
|
||||
},
|
||||
|
||||
arg = {}, -- command line arguments
|
||||
|
||||
savebak = false, -- if bak files are created on save
|
||||
|
||||
@@ -187,7 +188,7 @@ app = {
|
||||
tools = function(file) return true end,
|
||||
specs = function(file) return true end,
|
||||
interpreters = function(file) return true end,
|
||||
}
|
||||
},
|
||||
stringtable = { -- optional entries uses defaults otherwise
|
||||
editor = nil, statuswelcome = nil,
|
||||
-- ...
|
||||
@@ -236,7 +237,7 @@ api = {
|
||||
-- ----------------------------------------------------
|
||||
-- all entries are optional
|
||||
spec = {
|
||||
exts = {"ext","ext2",..},
|
||||
exts = {"ext","ext2",},
|
||||
-- compatible extensions
|
||||
|
||||
lexer = wxstc.wxSTC_LEX_LUA,
|
||||
@@ -247,7 +248,7 @@ spec = {
|
||||
-- appropriate lexer id
|
||||
stringeol = {wxstc.wxSTC_LUA_STRINGEOL,},
|
||||
-- ...
|
||||
}
|
||||
},
|
||||
|
||||
linecomment = "//",
|
||||
-- string for linecomments
|
||||
@@ -258,7 +259,7 @@ spec = {
|
||||
-- default is "\1" which should yield no matches
|
||||
-- and therefore disable class.func type autocompletion
|
||||
|
||||
isfncall = function(str) return from,to end
|
||||
isfncall = function(str) return from,to end,
|
||||
-- function that detects positions for a substring that
|
||||
-- stands for a functioncall, ie " call(..)" -> 2,5
|
||||
|
||||
@@ -320,7 +321,7 @@ debuginterface = {
|
||||
interpreter = {
|
||||
name = "",
|
||||
description = "",
|
||||
api = {"apifile_without_extension"} -- (opt) to limit loaded lua apis
|
||||
api = {"apifile_without_extension"}, -- (opt) to limit loaded lua apis
|
||||
frun = function(self,wfilename,withdebugger) end,
|
||||
fprojdir = function(self,wfilename) return "projpath_from_filename" end, -- (opt)
|
||||
fattachdebug = function(self) end, -- (opt)
|
||||
|
||||
@@ -107,11 +107,24 @@ end
|
||||
-- ToolTip and reserved words list
|
||||
-- also fixes function descriptions
|
||||
|
||||
local tipwidth = math.max(20, ide.config.acandtip.width or 60)
|
||||
local widthmask = ("[^\n]"):rep(tipwidth-10)..("[^\n]?"):rep(10)
|
||||
local function formatUpToX(s, x)
|
||||
local splitstr = "([ \t]*)(%S*)([ \t]*)(\n?)"
|
||||
local t = {""}
|
||||
for prefix, word, suffix, newline in s:gmatch(splitstr) do
|
||||
if #(t[#t]) + #prefix + #word > x and #t > 0 then
|
||||
table.insert(t, word..suffix)
|
||||
else
|
||||
t[#t] = t[#t]..prefix..word..suffix
|
||||
end
|
||||
if #newline > 0 then table.insert(t, "") end
|
||||
end
|
||||
return table.concat(t, "\n")
|
||||
end
|
||||
|
||||
local function fillTips(api,apibasename,apiname)
|
||||
local apiac = api.ac
|
||||
local tclass = api.tip
|
||||
local tipwidth = math.max(20, ide.config.acandtip.width)
|
||||
|
||||
tclass.staticnames = {}
|
||||
tclass.keys = {}
|
||||
@@ -130,28 +143,20 @@ local function fillTips(api,apibasename,apiname)
|
||||
local function traverse (tab,libname)
|
||||
if not tab.childs then return end
|
||||
for key,info in pairs(tab.childs) do
|
||||
traverse(info,key)
|
||||
local fullkey = (libname ~= "" and libname.."." or "")..key
|
||||
traverse(info, fullkey)
|
||||
|
||||
if info.type == "function" or info.type == "method" or info.type == "value" then
|
||||
local libstr = libname ~= "" and libname.."." or ""
|
||||
|
||||
-- fix description
|
||||
local frontname = (info.returns or "(?)").." "..libstr..key.." "..(info.args or "(?)")
|
||||
frontname = frontname
|
||||
:gsub("\n"," ")
|
||||
:gsub("\t","")
|
||||
:gsub("("..widthmask..")[ \t]([^%)])","%1\n %2")
|
||||
|
||||
info.description = (info.description or "")
|
||||
:gsub("\n\n","<br>"):gsub("\n"," "):gsub("<br>","\n")
|
||||
:gsub("[ \t]+"," ")
|
||||
:gsub("("..widthmask..") ","%1\n")
|
||||
local frontname = (info.returns or "(?)").." "..fullkey.." "..(info.args or "(?)")
|
||||
frontname = formatUpToX(frontname:gsub("\n"," "):gsub("\t",""), tipwidth)
|
||||
local description = formatUpToX(info.description or "", tipwidth)
|
||||
|
||||
-- build info
|
||||
local inf = (info.type == "value" and "" or frontname.."\n")
|
||||
..info.description
|
||||
local sentence = info.description:match("^(.-)%. ?\n")
|
||||
..description
|
||||
local sentence = description:match("^(.-)%. ?\n")
|
||||
local infshort = (info.type == "value" and "" or frontname.."\n")
|
||||
..(sentence and sentence.."..." or info.description)
|
||||
..(sentence and sentence.."..." or description)
|
||||
local infshortbatch = (info.returns and info.args) and frontname or infshort
|
||||
|
||||
-- add to infoclass
|
||||
|
||||
@@ -71,6 +71,16 @@ function LoadFile(filePath, editor, file_must_exist, skipselection)
|
||||
editor:Freeze()
|
||||
SetupKeywords(editor, GetFileExt(filePath))
|
||||
editor:MarkerDeleteAll(-1)
|
||||
|
||||
-- remove BOM from UTF-8 encoded files; store BOM to add back when saving
|
||||
editor.bom = string.char(0xEF,0xBB,0xBF)
|
||||
if file_text and editor:GetCodePage() == wxstc.wxSTC_CP_UTF8
|
||||
and file_text:find("^"..editor.bom) then
|
||||
file_text = file_text:gsub("^"..editor.bom, "")
|
||||
else
|
||||
-- set to 'false' as checks for nil on wxlua objects may fail at run-time
|
||||
editor.bom = false
|
||||
end
|
||||
editor:SetText(file_text or "")
|
||||
|
||||
-- check the editor as it can be empty if the file has malformed UTF8;
|
||||
@@ -144,6 +154,45 @@ function LoadFile(filePath, editor, file_must_exist, skipselection)
|
||||
return editor
|
||||
end
|
||||
|
||||
function ReLoadFile(filePath, editor, ...)
|
||||
if not editor then return LoadFile(filePath, editor, ...) end
|
||||
|
||||
-- save all markers
|
||||
local maskany = 2^24-1
|
||||
local markers = {}
|
||||
local line = editor:MarkerNext(0, maskany)
|
||||
while line > -1 do
|
||||
table.insert(markers, {line, editor:MarkerGet(line), editor:GetLine(line)})
|
||||
line = editor:MarkerNext(line + 1, maskany)
|
||||
end
|
||||
local lines = editor:GetLineCount()
|
||||
|
||||
-- load file into the same editor
|
||||
editor = LoadFile(filePath, editor, ...)
|
||||
if not editor then return end
|
||||
|
||||
if #markers > 0 then -- restore all markers
|
||||
local samelinecount = lines == editor:GetLineCount()
|
||||
for _, marker in ipairs(markers) do
|
||||
local line, mask, text = unpack(marker)
|
||||
if samelinecount then
|
||||
-- restore marker at the same line number
|
||||
editor:MarkerAddSet(line, mask)
|
||||
else
|
||||
-- find matching line in the surrounding area and restore marker there
|
||||
for _, l in ipairs({line, line-1, line-2, line+1, line+2}) do
|
||||
if text == editor:GetLine(l) then
|
||||
editor:MarkerAddSet(l, mask)
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
return editor
|
||||
end
|
||||
|
||||
local function getExtsString()
|
||||
local knownexts = ""
|
||||
for i,spec in pairs(ide.specs) do
|
||||
@@ -193,13 +242,13 @@ function SaveFile(editor, filePath)
|
||||
if ide.config.savebak then
|
||||
local ok, err = FileRename(filePath, filePath..".bak")
|
||||
if not ok then
|
||||
ReportError(TR("Unable to save file '%s'."):format(filePath..".bak")
|
||||
.."\nError: "..err)
|
||||
ReportError(TR("Unable to save file '%s': %s"):format(filePath..".bak", err))
|
||||
return
|
||||
end
|
||||
end
|
||||
|
||||
local st = editor:GetText()
|
||||
local st = (editor:GetCodePage() == wxstc.wxSTC_CP_UTF8 and editor.bom or "")
|
||||
.. editor:GetText()
|
||||
if GetConfigIOFilter("output") then
|
||||
st = GetConfigIOFilter("output")(filePath,st)
|
||||
end
|
||||
@@ -540,7 +589,22 @@ function CompileProgram(editor, params)
|
||||
else
|
||||
DisplayOutputLn(TR("Compilation error").." "..TR("on line %d"):format(line)..":")
|
||||
DisplayOutputLn((err:gsub("\n$", "")))
|
||||
if line and params.jumponerror then editor:GotoLine(line-1) end
|
||||
-- check for escapes invalid in LuaJIT/Lua 5.2 that are allowed in Lua 5.1
|
||||
if err:find('invalid escape sequence') then
|
||||
local s = editor:GetLine(line-1)
|
||||
local cleaned = s
|
||||
:gsub('\\[abfnrtv\\"\']', ' ')
|
||||
:gsub('(\\x[0-9a-fA-F][0-9a-fA-F])', function(s) return string.rep(' ', #s) end)
|
||||
:gsub('(\\%d%d?%d?)', function(s) return string.rep(' ', #s) end)
|
||||
:gsub('(\\z%s*)', function(s) return string.rep(' ', #s) end)
|
||||
local invalid = cleaned:find("\\")
|
||||
if invalid then
|
||||
DisplayOutputLn(TR("Consider removing backslash from escape sequence '%s'.")
|
||||
:format(s:sub(invalid,invalid+1)))
|
||||
end
|
||||
end
|
||||
if line and params.jumponerror and line-1 ~= editor:GetCurrentLine() then
|
||||
editor:GotoLine(line-1) end
|
||||
end
|
||||
|
||||
return func ~= nil -- return true if it compiled ok
|
||||
@@ -644,8 +708,7 @@ function ProjectConfig(dir, config)
|
||||
end
|
||||
|
||||
function SetOpenTabs(params)
|
||||
local recovery, nametab = loadstring("return "..params.recovery)
|
||||
if recovery then recovery, nametab = pcall(recovery) end
|
||||
local recovery, nametab = LoadSafe("return "..params.recovery)
|
||||
if not recovery then
|
||||
DisplayOutputLn(TR("Can't process auto-recovery record; invalid format: %s."):format(nametab))
|
||||
return
|
||||
@@ -692,10 +755,12 @@ function SetAutoRecoveryMark()
|
||||
end
|
||||
|
||||
local function saveAutoRecovery(event)
|
||||
if not ide.config.autorecoverinactivity or not ide.session.lastupdated then return end
|
||||
if ide.session.lastupdated < (ide.session.lastsaved or 0)
|
||||
or ide.session.lastupdated + ide.config.autorecoverinactivity > os.time()
|
||||
then return end
|
||||
local lastupdated = ide.session.lastupdated
|
||||
if not ide.config.autorecoverinactivity or not lastupdated then return end
|
||||
if lastupdated < (ide.session.lastsaved or 0) then return end
|
||||
|
||||
local now = os.time()
|
||||
if lastupdated + ide.config.autorecoverinactivity > now then return end
|
||||
|
||||
-- find all open modified files and save them
|
||||
local opentabs, params = getOpenTabs()
|
||||
@@ -705,7 +770,7 @@ local function saveAutoRecovery(event)
|
||||
SettingsSaveFileSession({}, params)
|
||||
ide.settings:Flush()
|
||||
end
|
||||
ide.session.lastsaved = os.time()
|
||||
ide.session.lastsaved = now
|
||||
ide.frame.statusBar:SetStatusText(
|
||||
TR("Saved auto-recover at %s."):format(os.date("%H:%M:%S")), 1)
|
||||
end
|
||||
@@ -764,7 +829,7 @@ function StoreRestoreProjectTabs(curdir, newdir)
|
||||
fastWrap(SetOpenFiles, files, {index = #files + notebook:GetPageCount()})
|
||||
end
|
||||
|
||||
if params and params.interpreter and ide.interpreter.fname ~= params.interpreter then
|
||||
if params and params.interpreter then
|
||||
ProjectSetInterpreter(params.interpreter) -- set the interpreter
|
||||
end
|
||||
|
||||
@@ -836,6 +901,17 @@ frame:Connect(wx.wxEVT_TIMER, saveAutoRecovery)
|
||||
ide.editorApp:Connect(wx.wxEVT_ACTIVATE_APP,
|
||||
function(event)
|
||||
if not ide.exitingProgram then
|
||||
-- wxSTC controls on OSX don't generate KILL_FOCUS events
|
||||
-- when focus is switched between controls in the app;
|
||||
-- manually kill focus when the app is deactivated
|
||||
if ide.osname == 'Macintosh' and not event:GetActive() then
|
||||
local ntbk = frame.bottomnotebook
|
||||
for _,win in ipairs({ntbk.errorlog, ntbk.shellbox, GetEditor()}) do
|
||||
local ev = wx.wxFocusEvent(wx.wxEVT_KILL_FOCUS)
|
||||
win:GetEventHandler():ProcessEvent(ev)
|
||||
end
|
||||
end
|
||||
|
||||
local event = event:GetActive() and "onAppFocusSet" or "onAppFocusLost"
|
||||
PackageEventHandle(event, ide.editorApp)
|
||||
end
|
||||
|
||||
@@ -443,7 +443,12 @@ local function stoppedAtBreakpoint(file, line)
|
||||
end
|
||||
|
||||
debugger.listen = function()
|
||||
local server = socket.bind("*", debugger.portnumber)
|
||||
local server, err = socket.bind("*", debugger.portnumber)
|
||||
if not server then
|
||||
DisplayOutputLn(TR("Can't start debugger server at %s:%d: %s.")
|
||||
:format(debugger.hostname, debugger.portnumber, err or TR("unknown error")))
|
||||
return
|
||||
end
|
||||
DisplayOutputLn(TR("Debugger server started at %s:%d.")
|
||||
:format(debugger.hostname, debugger.portnumber))
|
||||
copas.autoclose = false
|
||||
@@ -509,10 +514,9 @@ debugger.listen = function()
|
||||
-- if it's an error returned, then handle the error
|
||||
if m and m:find("stack traceback:", 1, true) then
|
||||
-- this is an error message sent remotely
|
||||
local func = loadstring("return "..m)
|
||||
if func then
|
||||
DisplayOutputLn(func())
|
||||
debugger.terminate()
|
||||
local ok, res = LoadSafe("return "..m)
|
||||
if ok then
|
||||
DisplayOutputLn(res)
|
||||
return
|
||||
end
|
||||
end
|
||||
@@ -753,13 +757,21 @@ end
|
||||
do
|
||||
local nextupdatedelta = 0.250
|
||||
local nextupdate = TimeGet() + nextupdatedelta
|
||||
local function forceUpdateOnWrap(editor)
|
||||
-- http://www.scintilla.org/ScintillaDoc.html#LineWrapping
|
||||
-- Scintilla doesn't perform wrapping immediately after a content change
|
||||
-- for performance reasons, so the activation calculations can be wrong
|
||||
-- if there is wrapping that pushes the current line out of the screen.
|
||||
-- force editor update that performs wrapping recalculation.
|
||||
if ide.config.editor.usewrap then editor:Update(); editor:Refresh() end
|
||||
end
|
||||
debugger.update = function()
|
||||
if debugger.server or debugger.listening and TimeGet() > nextupdate then
|
||||
copas.step(0)
|
||||
nextupdate = TimeGet() + nextupdatedelta
|
||||
end
|
||||
|
||||
-- if there are any pending activations
|
||||
-- if there is any pending activation
|
||||
if debugger.activate then
|
||||
local file, line, content = unpack(debugger.activate)
|
||||
if content then
|
||||
@@ -769,9 +781,14 @@ do
|
||||
and not (debugger.options or {}).allowediting then
|
||||
editor:SetReadOnly(true)
|
||||
end
|
||||
forceUpdateOnWrap(editor)
|
||||
activateDocument(file, line)
|
||||
elseif LoadFile(file) then
|
||||
activateDocument(file, line)
|
||||
else
|
||||
local editor = LoadFile(file)
|
||||
if editor then
|
||||
forceUpdateOnWrap(editor)
|
||||
activateDocument(file, line)
|
||||
end
|
||||
end
|
||||
debugger.activate = nil
|
||||
end
|
||||
@@ -858,7 +875,7 @@ function debuggerAddWindow(ctrl, panel, name)
|
||||
wx.wxDefaultPosition, wx.wxDefaultSize,
|
||||
wxaui.wxAUI_NB_DEFAULT_STYLE + wxaui.wxAUI_NB_TAB_EXTERNAL_MOVE
|
||||
- wxaui.wxAUI_NB_CLOSE_ON_ACTIVE_TAB + wx.wxNO_BORDER)
|
||||
notebook:AddPage(ctrl, TR(name), true)
|
||||
notebook:AddPage(ctrl, name, true)
|
||||
|
||||
local mgr = ide.frame.uimgr
|
||||
mgr:AddPane(notebook, wxaui.wxAuiPaneInfo():
|
||||
@@ -872,11 +889,11 @@ function debuggerAddWindow(ctrl, panel, name)
|
||||
end
|
||||
|
||||
function DebuggerAddStackWindow()
|
||||
return debuggerAddWindow(debugger.stackCtrl, "stackpanel", "Stack")
|
||||
return debuggerAddWindow(debugger.stackCtrl, "stackpanel", TR("Stack"))
|
||||
end
|
||||
|
||||
function DebuggerAddWatchWindow()
|
||||
return debuggerAddWindow(debugger.watchCtrl, "watchpanel", "Watch")
|
||||
return debuggerAddWindow(debugger.watchCtrl, "watchpanel", TR("Watch"))
|
||||
end
|
||||
|
||||
function debuggerCreateStackWindow()
|
||||
@@ -1123,7 +1140,9 @@ function DebuggerRefreshScratchpad()
|
||||
if debugger.scratchpad and debugger.scratchpad.updated and not debugger.scratchpad.paused then
|
||||
|
||||
local scratchpadEditor = debugger.scratchpad.editor
|
||||
if not ide.interpreter.skipcompile
|
||||
if scratchpadEditor.spec.apitype
|
||||
and scratchpadEditor.spec.apitype == "lua"
|
||||
and not ide.interpreter.skipcompile
|
||||
and not CompileProgram(scratchpadEditor, { jumponerror = false, reportstats = false })
|
||||
then return end
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@ local notebook = ide.frame.notebook
|
||||
local funclist = ide.frame.toolBar.funclist
|
||||
local edcfg = ide.config.editor
|
||||
local styles = ide.config.styles
|
||||
local unpack = table.unpack or unpack
|
||||
|
||||
local DEFAULT_STYLE = 32
|
||||
local margin = { LINENUMBER = 0, MARKER = 1, FOLD = 2 }
|
||||
@@ -29,15 +30,21 @@ local function updateStatusText(editor)
|
||||
local pos = editor:GetCurrentPos()
|
||||
local line = editor:LineFromPosition(pos)
|
||||
local col = 1 + pos - editor:PositionFromLine(line)
|
||||
local selected = #editor:GetSelectedText()
|
||||
local selections = ide.wxver >= "2.9.5" and editor:GetSelections() or 1
|
||||
|
||||
texts = {
|
||||
iff(editor:GetOvertype(), TR("OVR"), TR("INS")),
|
||||
iff(editor:GetReadOnly(), TR("R/O"), TR("R/W")),
|
||||
TR("Ln: %d"):format(line + 1).." "..TR("Col: %d"):format(col) }
|
||||
table.concat({
|
||||
TR("Ln: %d"):format(line + 1),
|
||||
TR("Col: %d"):format(col),
|
||||
selected > 0 and TR("Sel: %d/%d"):format(selected, selections) or "",
|
||||
}, ' ')}
|
||||
end
|
||||
|
||||
if ide.frame then
|
||||
for n = 1, 3 do
|
||||
for n in ipairs(texts) do
|
||||
if (texts[n] ~= statusTextTable[n]) then
|
||||
statusBar:SetStatusText(texts[n], n+1)
|
||||
statusTextTable[n] = texts[n]
|
||||
@@ -118,7 +125,7 @@ local function isFileAlteredOnDisk(editor)
|
||||
GetIDEString("editormessage"),
|
||||
wx.wxYES_NO + wx.wxCENTRE, ide.frame)
|
||||
|
||||
if ret ~= wx.wxYES or LoadFile(filePath, editor, true) then
|
||||
if ret ~= wx.wxYES or ReLoadFile(filePath, editor, true) then
|
||||
openDocuments[id].modTime = GetFileModTime(filePath)
|
||||
end
|
||||
end
|
||||
@@ -138,6 +145,7 @@ local function navigateBack(editor)
|
||||
if #editor.jumpstack == 0 then return end
|
||||
local pos = table.remove(editor.jumpstack)
|
||||
editor:GotoPos(pos)
|
||||
return true
|
||||
end
|
||||
|
||||
-- ----------------------------------------------------------------------------
|
||||
@@ -306,6 +314,38 @@ local function getValAtPosition(editor, pos)
|
||||
return var, funccall
|
||||
end
|
||||
|
||||
local function callTipFitAndShow(editor, pos, tip)
|
||||
local point = editor:PointFromPosition(pos)
|
||||
local height = editor:TextHeight(pos)
|
||||
local maxlines = math.max(1, math.floor(
|
||||
math.max(editor:GetSize():GetHeight()-point:GetY()-height, point:GetY())/height-1
|
||||
))
|
||||
-- cut the tip to not exceed the number of maxlines.
|
||||
-- move the position to the left if needed to fit.
|
||||
-- find the longest line in terms of width in pixels.
|
||||
local maxwidth = 0
|
||||
local lines = {}
|
||||
for line in tip:gmatch("[^\n]*\n?") do
|
||||
local width = editor:TextWidth(wxstc.wxSTC_STYLE_DEFAULT, line)
|
||||
if width > maxwidth then maxwidth = width end
|
||||
table.insert(lines, line)
|
||||
if #lines >= maxlines then
|
||||
lines[#lines] = lines[#lines]:gsub("%s*\n$","")..'...'
|
||||
break
|
||||
end
|
||||
end
|
||||
tip = table.concat(lines, '')
|
||||
|
||||
local startpos = editor:PositionFromLine(editor:LineFromPosition(pos))
|
||||
local afterwidth = editor:GetSize():GetWidth()-point:GetX()
|
||||
if maxwidth > afterwidth then
|
||||
local charwidth = editor:TextWidth(wxstc.wxSTC_STYLE_DEFAULT, 'A')
|
||||
pos = math.max(startpos, pos - math.floor((maxwidth - afterwidth) / charwidth))
|
||||
end
|
||||
|
||||
editor:CallTipShow(pos, tip)
|
||||
end
|
||||
|
||||
function EditorCallTip(editor, pos, x, y)
|
||||
-- don't show anything if the calltip/auto-complete is active;
|
||||
-- this may happen after typing function name, while the mouse is over
|
||||
@@ -330,7 +370,8 @@ function EditorCallTip(editor, pos, x, y)
|
||||
local mpos = wx.wxGetMousePosition()
|
||||
if mpos.x ~= x or mpos.y ~= y then return end
|
||||
end
|
||||
editor:CallTipShow(pos, val) end)
|
||||
callTipFitAndShow(editor, pos, val)
|
||||
end)
|
||||
end
|
||||
elseif tip then
|
||||
-- only shorten if shown on mouse-over. Use shortcut to get full info.
|
||||
@@ -341,7 +382,7 @@ function EditorCallTip(editor, pos, x, y)
|
||||
if x and y and #tip > shortento then
|
||||
tip = tip:sub(1, shortento-#suffix):gsub("%W*%w*$","")..suffix
|
||||
end
|
||||
editor:CallTipShow(pos, tip)
|
||||
callTipFitAndShow(editor, pos, tip)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -356,7 +397,7 @@ function EditorIsModified(editor)
|
||||
end
|
||||
|
||||
-- Indicator handling for functions and local/global variables
|
||||
local function indicateFunctions28(editor, lines, linee)
|
||||
local function indicateFunctionsOnly(editor, lines, linee)
|
||||
if not (edcfg.showfncall and editor.spec and editor.spec.isfncall)
|
||||
or not (styles.indicator and styles.indicator.fncall) then return end
|
||||
|
||||
@@ -456,9 +497,12 @@ function IndicateAll(editor, lines, linee)
|
||||
|
||||
-- this function can be called for an editor tab that is already closed
|
||||
-- when there are still some pending events for it, so handle it.
|
||||
if not pcall(function() return editor:GetId() end) then return end
|
||||
if not pcall(function() editor:GetId() end) then return end
|
||||
|
||||
if not (editor.spec and editor.spec.markvars) then return end
|
||||
-- if markvars is not set in the spec, check for functions-only indicators
|
||||
if not (editor.spec and editor.spec.markvars) then
|
||||
return indicateFunctionsOnly(editor, lines, linee)
|
||||
end
|
||||
local indic = styles.indicator or {}
|
||||
|
||||
local pos, vars = d and d[1] or 1, d and d[2] or nil
|
||||
@@ -581,7 +625,7 @@ function IndicateAll(editor, lines, linee)
|
||||
end
|
||||
|
||||
if ide.wxver < "2.9.5" or not ide.config.autoanalizer then
|
||||
IndicateAll = indicateFunctions28 end
|
||||
IndicateAll = indicateFunctionsOnly end
|
||||
|
||||
-- ----------------------------------------------------------------------------
|
||||
-- Create an editor
|
||||
@@ -595,6 +639,7 @@ function CreateEditor()
|
||||
editor.matchon = false
|
||||
editor.assignscache = false
|
||||
editor.autocomplete = false
|
||||
editor.bom = false
|
||||
editor.jumpstack = {}
|
||||
editor.ctrlcache = {}
|
||||
-- populate cache with Ctrl-<letter> combinations for workaround on Linux
|
||||
@@ -604,6 +649,18 @@ function CreateEditor()
|
||||
if key then editor.ctrlcache[key:byte()] = id end
|
||||
end
|
||||
|
||||
-- populate editor keymap with configured combinations
|
||||
for _, map in ipairs(ide.config.editor.keymap) do
|
||||
local key, mod, cmd, os = unpack(map)
|
||||
if not os or os == ide.osname then
|
||||
if cmd then
|
||||
editor:CmdKeyAssign(key, mod, cmd)
|
||||
else
|
||||
editor:CmdKeyClear(key, mod)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
editor:SetBufferedDraw(not ide.config.hidpi and true or false)
|
||||
editor:StyleClearAll()
|
||||
|
||||
@@ -811,7 +868,7 @@ function CreateEditor()
|
||||
local tip = GetTipInfo(editor,linetxtopos,ide.config.acandtip.shorttip)
|
||||
if tip then
|
||||
if editor:CallTipActive() then editor:CallTipCancel() end
|
||||
editor:CallTipShow(pos,tip)
|
||||
callTipFitAndShow(editor, pos, tip)
|
||||
end
|
||||
|
||||
elseif ide.config.autocomplete then -- code completion prompt
|
||||
@@ -918,7 +975,17 @@ function CreateEditor()
|
||||
|
||||
editor:Connect(wxstc.wxEVT_STC_PAINTED,
|
||||
function ()
|
||||
if ide.osname == 'Windows' then updateStatusText(editor) end
|
||||
if ide.osname == 'Windows' then
|
||||
updateStatusText(editor)
|
||||
|
||||
if ide.config.editor.usewrap ~= true and editor:AutoCompActive() then
|
||||
-- showing auto-complete list leaves artifacts on the screen,
|
||||
-- which can only be fixed by a forced refresh.
|
||||
-- shows with wxSTC 3.21 and both wxwidgets 2.9.5 and 3.1
|
||||
editor:Update()
|
||||
editor:Refresh()
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
editor:Connect(wxstc.wxEVT_STC_UPDATEUI,
|
||||
@@ -1050,7 +1117,9 @@ function CreateEditor()
|
||||
end
|
||||
editor:ReplaceTarget("")
|
||||
elseif mod == wx.wxMOD_ALT and keycode == wx.WXK_LEFT then
|
||||
navigateBack(editor)
|
||||
-- if no "jump back" is needed, then do normal processing as this
|
||||
-- combination can be mapped to some action
|
||||
if not navigateBack(editor) then event:Skip() end
|
||||
elseif ide.osname == "Unix" and ide.wxver >= "2.9.5"
|
||||
and mod == wx.wxMOD_CONTROL and editor.ctrlcache[keycode] then
|
||||
ide.frame:AddPendingEvent(wx.wxCommandEvent(
|
||||
@@ -1103,6 +1172,14 @@ function CreateEditor()
|
||||
editor:Connect(wxstc.wxEVT_STC_ZOOM,
|
||||
function(event)
|
||||
editor:SetMarginWidth(margin.LINENUMBER, editor:TextWidth(DEFAULT_STYLE, "99999_"))
|
||||
-- if Shift+Zoom is used, then zoom all editors, not just the current one
|
||||
if wx.wxGetKeyState(wx.WXK_SHIFT) then
|
||||
local zoom = editor:GetZoom()
|
||||
for id, doc in pairs(openDocuments) do
|
||||
-- check the editor zoom level to avoid recursion
|
||||
if doc.editor:GetZoom() ~= zoom then doc.editor:SetZoom(zoom) end
|
||||
end
|
||||
end
|
||||
event:Skip()
|
||||
end)
|
||||
|
||||
|
||||
@@ -95,7 +95,7 @@ function findReplace:GetSelectedString()
|
||||
local startSel = editor:GetSelectionStart()
|
||||
local endSel = editor:GetSelectionEnd()
|
||||
if (startSel ~= endSel) and (editor:LineFromPosition(startSel) == editor:LineFromPosition(endSel)) then
|
||||
findReplace.findText = editor:GetSelectedText()
|
||||
findReplace.findText = editor:GetTextRange(startSel, endSel)
|
||||
return true
|
||||
end
|
||||
end
|
||||
@@ -594,8 +594,9 @@ function findReplace:createDialog(replace,infiles)
|
||||
-- if on OSX then select the current value of the default dropdown
|
||||
-- and don't set the default as it doesn't make Enter to work, but
|
||||
-- prevents associated hotkey (Cmd-F) from working (wx2.9.5).
|
||||
if ide.osname == 'Macintosh' then
|
||||
findTextCombo:SetSelection(0, #findTextCombo:GetValue())
|
||||
if mac then
|
||||
findTextCombo:SetSelection(-1, -1)
|
||||
findTextCombo:SetFocus() -- force focus on the Find
|
||||
else
|
||||
findButton:SetDefault()
|
||||
end
|
||||
|
||||
@@ -53,7 +53,7 @@ local function createFrame()
|
||||
statusBar:SetStatusStyles({wx.wxSB_FLAT, wx.wxSB_FLAT, wx.wxSB_FLAT,
|
||||
wx.wxSB_FLAT, wx.wxSB_FLAT, wx.wxSB_FLAT})
|
||||
statusBar:SetStatusWidths(
|
||||
{-1, section_width*6, section_width, section_width, section_width*4, section_width*4})
|
||||
{-1, section_width*6, section_width, section_width, section_width*5, section_width*4})
|
||||
statusBar:SetStatusText(GetIDEString("statuswelcome"))
|
||||
|
||||
local mgr = wxaui.wxAuiManager()
|
||||
@@ -137,7 +137,15 @@ local function createNotebook(frame)
|
||||
and debug:traceback():find("'AddPage'"))
|
||||
|
||||
if doc and event:GetOldSelection() ~= -1 and not double then
|
||||
SetEditorSelection(notebook:GetSelection()) end
|
||||
-- switching between editor tabs doesn't trigger KILL_FOCUS events
|
||||
-- on OSX (http://trac.wxwidgets.org/ticket/14142); trigger manually
|
||||
if ide.osname == 'Macintosh' then
|
||||
local win = notebook:GetPage(event:GetOldSelection())
|
||||
local ev = wx.wxFocusEvent(wx.wxEVT_KILL_FOCUS)
|
||||
win:GetEventHandler():ProcessEvent(ev)
|
||||
end
|
||||
SetEditorSelection(notebook:GetSelection())
|
||||
end
|
||||
end)
|
||||
|
||||
notebook:Connect(wxaui.wxEVT_COMMAND_AUINOTEBOOK_PAGE_CLOSE,
|
||||
@@ -157,6 +165,8 @@ local function createNotebook(frame)
|
||||
local editor = GetEditor(page)
|
||||
if editor then ide.openDocuments[editor:GetId()].index = page end
|
||||
end
|
||||
-- select the content of the tab after drag is done
|
||||
SetEditorSelection(event:GetSelection())
|
||||
event:Skip()
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -9,9 +9,13 @@ function NewID()
|
||||
return ID_IDCOUNTER
|
||||
end
|
||||
|
||||
-- some Ubuntu versions (Ubuntu 13.10) ignore labels on stock menu IDs,
|
||||
-- so don't use stock IDs on Linux
|
||||
local linux = ide.osname == 'Unix'
|
||||
|
||||
-- File menu
|
||||
ID_NEW = wx.wxID_NEW
|
||||
ID_OPEN = wx.wxID_OPEN
|
||||
ID_NEW = linux and NewID() or wx.wxID_NEW
|
||||
ID_OPEN = linux and NewID() or wx.wxID_OPEN
|
||||
ID_CLOSE = NewID()
|
||||
ID_CLOSEALL = NewID()
|
||||
ID_CLOSEOTHER = NewID()
|
||||
@@ -22,20 +26,20 @@ ID_DELETEFILE = NewID()
|
||||
ID_OPENEXTENSION = NewID()
|
||||
ID_COPYFULLPATH = NewID()
|
||||
ID_SHOWLOCATION = NewID()
|
||||
ID_SAVE = wx.wxID_SAVE
|
||||
ID_SAVEAS = wx.wxID_SAVEAS
|
||||
ID_SAVE = linux and NewID() or wx.wxID_SAVE
|
||||
ID_SAVEAS = linux and NewID() or wx.wxID_SAVEAS
|
||||
ID_SAVEALL = NewID()
|
||||
ID_RECENTFILES = NewID()
|
||||
ID_RECENTFILESPREV = NewID()
|
||||
ID_RECENTFILESNEXT = NewID()
|
||||
ID_EXIT = wx.wxID_EXIT
|
||||
ID_EXIT = linux and NewID() or wx.wxID_EXIT
|
||||
-- Edit menu
|
||||
ID_CUT = wx.wxID_CUT
|
||||
ID_COPY = wx.wxID_COPY
|
||||
ID_PASTE = wx.wxID_PASTE
|
||||
ID_SELECTALL = wx.wxID_SELECTALL
|
||||
ID_UNDO = wx.wxID_UNDO
|
||||
ID_REDO = wx.wxID_REDO
|
||||
ID_CUT = linux and NewID() or wx.wxID_CUT
|
||||
ID_COPY = linux and NewID() or wx.wxID_COPY
|
||||
ID_PASTE = linux and NewID() or wx.wxID_PASTE
|
||||
ID_SELECTALL = linux and NewID() or wx.wxID_SELECTALL
|
||||
ID_UNDO = linux and NewID() or wx.wxID_UNDO
|
||||
ID_REDO = linux and NewID() or wx.wxID_REDO
|
||||
ID_SHOWTOOLTIP = NewID()
|
||||
ID_AUTOCOMPLETE = NewID()
|
||||
ID_AUTOCOMPLETEENABLE = NewID()
|
||||
@@ -48,9 +52,11 @@ ID_PREFERENCES = NewID()
|
||||
ID_PREFERENCESSYSTEM = NewID()
|
||||
ID_PREFERENCESUSER = NewID()
|
||||
-- Search menu
|
||||
ID_FIND = wx.wxID_FIND
|
||||
ID_FIND = linux and NewID() or wx.wxID_FIND
|
||||
ID_FINDNEXT = NewID()
|
||||
ID_FINDPREV = NewID()
|
||||
ID_FINDSELECTNEXT = NewID()
|
||||
ID_FINDSELECTPREV = NewID()
|
||||
ID_REPLACE = NewID()
|
||||
ID_FINDINFILES = NewID()
|
||||
ID_REPLACEINFILES = NewID()
|
||||
@@ -63,6 +69,7 @@ ID_VIEWCALLSTACK = NewID()
|
||||
ID_VIEWWATCHWINDOW = NewID()
|
||||
ID_VIEWDEFAULTLAYOUT = NewID()
|
||||
ID_VIEWFULLSCREEN = NewID()
|
||||
ID_VIEWMINIMIZE = NewID()
|
||||
-- Project menu
|
||||
ID_TOGGLEBREAKPOINT = NewID()
|
||||
ID_COMPILE = NewID()
|
||||
@@ -78,12 +85,13 @@ ID_STEPOUT = NewID()
|
||||
ID_BREAK = NewID()
|
||||
ID_TRACE = NewID()
|
||||
ID_CLEAROUTPUT = NewID()
|
||||
ID_COMMANDLINEPARAMETERS = NewID()
|
||||
ID_INTERPRETER = NewID()
|
||||
ID_PROJECTDIR = NewID()
|
||||
ID_PROJECTDIRFROMFILE = NewID()
|
||||
ID_PROJECTDIRCHOOSE = NewID()
|
||||
-- Help menu
|
||||
ID_ABOUT = wx.wxID_ABOUT
|
||||
ID_ABOUT = linux and NewID() or wx.wxID_ABOUT
|
||||
ID_HELPPROJECT = NewID()
|
||||
ID_HELPDOCUMENTATION = NewID()
|
||||
ID_HELPGETTINGSTARTED = NewID()
|
||||
|
||||
@@ -36,6 +36,14 @@ function M.warnings_from_string(src, file)
|
||||
return M.show_warnings(ast)
|
||||
end
|
||||
|
||||
function AnalyzeFile(file)
|
||||
local warn, err, line, pos = M.warnings_from_string(FileRead(file), file)
|
||||
if err then
|
||||
err = err:gsub("line %d+, char %d+", "syntax error")
|
||||
end
|
||||
return warn, err, line, pos
|
||||
end
|
||||
|
||||
function M.show_warnings(top_ast)
|
||||
local warnings = {}
|
||||
local function warn(msg, linenum, path)
|
||||
@@ -155,11 +163,9 @@ local frame = ide.frame
|
||||
local menu = frame.menuBar:GetMenu(frame.menuBar:FindMenu(TR("&Project")))
|
||||
|
||||
-- insert after "Compile" item
|
||||
for item = 0, menu:GetMenuItemCount()-1 do
|
||||
if menu:FindItemByPosition(item):GetId() == ID_COMPILE then
|
||||
menu:Insert(item+1, ID_ANALYZE, TR("Analyze")..KSC(ID_ANALYZE), TR("Analyze the source code"))
|
||||
break
|
||||
end
|
||||
local _, compilepos = ide:FindMenuItem(menu, ID_COMPILE)
|
||||
if compilepos then
|
||||
menu:Insert(compilepos+1, ID_ANALYZE, TR("Analyze")..KSC(ID_ANALYZE), TR("Analyze the source code"))
|
||||
end
|
||||
|
||||
local debugger = ide.debugger
|
||||
|
||||
@@ -52,6 +52,8 @@ ide.config.keymap = {
|
||||
[ID_FIND] = "Ctrl-F",
|
||||
[ID_FINDNEXT] = "F3",
|
||||
[ID_FINDPREV] = "Shift-F3",
|
||||
[ID_FINDSELECTNEXT] = "Ctrl-F3",
|
||||
[ID_FINDSELECTPREV] = "Ctrl-Shift-F3",
|
||||
[ID_REPLACE] = "Ctrl-R",
|
||||
[ID_FINDINFILES] = "Ctrl-Shift-F",
|
||||
[ID_REPLACEINFILES] = "Ctrl-Shift-R",
|
||||
@@ -99,5 +101,24 @@ function KSC(id, default)
|
||||
-- this is only for the rare case of someone assigning a complete list
|
||||
-- to ide.config.keymap.
|
||||
local keymap = ide.config.keymap
|
||||
return keymap[id] and "\t"..keymap[id] or default or ""
|
||||
return (keymap[id] and "\t"..keymap[id]) or (default and "\t"..default) or ""
|
||||
end
|
||||
|
||||
ide.config.editor.keymap = {
|
||||
-- key, modifier, command, os: http://www.scintilla.org/ScintillaDoc.html#KeyboardCommands
|
||||
-- Cmd+Left/Right moves to start/end of line
|
||||
{wxstc.wxSTC_KEY_LEFT, wxstc.wxSTC_SCMOD_CTRL, wxstc.wxSTC_CMD_HOME, "Macintosh"},
|
||||
{wxstc.wxSTC_KEY_RIGHT, wxstc.wxSTC_SCMOD_CTRL, wxstc.wxSTC_CMD_LINEEND, "Macintosh"},
|
||||
-- Cmd+Shift+Left/Right selects to the beginning/end of the line
|
||||
{wxstc.wxSTC_KEY_LEFT, wxstc.wxSTC_SCMOD_CTRL+wxstc.wxSTC_SCMOD_SHIFT, wxstc.wxSTC_CMD_HOMEEXTEND, "Macintosh"},
|
||||
{wxstc.wxSTC_KEY_RIGHT, wxstc.wxSTC_SCMOD_CTRL+wxstc.wxSTC_SCMOD_SHIFT, wxstc.wxSTC_CMD_LINEENDEXTEND, "Macintosh"},
|
||||
-- Cmd+Shift+Up/Down selects to the beginning/end of the text
|
||||
{wxstc.wxSTC_KEY_UP, wxstc.wxSTC_SCMOD_CTRL+wxstc.wxSTC_SCMOD_SHIFT, wxstc.wxSTC_CMD_LINEUPEXTEND, "Macintosh"},
|
||||
{wxstc.wxSTC_KEY_DOWN, wxstc.wxSTC_SCMOD_CTRL+wxstc.wxSTC_SCMOD_SHIFT, wxstc.wxSTC_CMD_LINEDOWNEXTEND, "Macintosh"},
|
||||
-- Opt+Left/Right moves one word left (to the beginning)/right (to the end)
|
||||
{wxstc.wxSTC_KEY_LEFT, wxstc.wxSTC_SCMOD_ALT, wxstc.wxSTC_CMD_WORDLEFT, "Macintosh"},
|
||||
{wxstc.wxSTC_KEY_RIGHT, wxstc.wxSTC_SCMOD_ALT, wxstc.wxSTC_CMD_WORDRIGHTEND, "Macintosh"},
|
||||
-- Opt+Shift+Left/Right selects one word left (to the beginning)/right (to the end)
|
||||
{wxstc.wxSTC_KEY_LEFT, wxstc.wxSTC_SCMOD_ALT+wxstc.wxSTC_SCMOD_SHIFT, wxstc.wxSTC_CMD_WORDLEFTEXTEND, "Macintosh"},
|
||||
{wxstc.wxSTC_KEY_RIGHT, wxstc.wxSTC_SCMOD_ALT+wxstc.wxSTC_SCMOD_SHIFT, wxstc.wxSTC_CMD_WORDRIGHTENDEXTEND, "Macintosh"},
|
||||
}
|
||||
|
||||
@@ -94,6 +94,7 @@ end
|
||||
|
||||
local function ismarkup (tx)
|
||||
local start = 1
|
||||
local marksep = "[%s!%?%.,;:%(%)]"
|
||||
while true do
|
||||
-- find a separator first
|
||||
local st,_,sep,more = string.find(tx, "(["..MD_MARK_PTRN.."])(.)", start)
|
||||
@@ -121,9 +122,9 @@ local function ismarkup (tx)
|
||||
s,e,cap = string.find(tx,"^("..qsep..nonspace..nonsep.."-"..nonspace..qsep..")", st)
|
||||
if not s then s,e,cap = string.find(tx,"^("..qsep..nonspace..qsep..")", st) end
|
||||
end
|
||||
if s and -- selected markup is surrounded by spaces or punctuation
|
||||
(s == start or tx:sub(s-1, s-1):match("[%s%p]")) and
|
||||
(e-s == #tx-1 or tx:sub(e+1, e+1):match("[%s%p]"))
|
||||
if s and -- selected markup is surrounded by spaces or punctuation marks
|
||||
(s == 1 or tx:sub(s-1, s-1):match(marksep)) and
|
||||
(e == #tx or tx:sub(e+1, e+1):match(marksep))
|
||||
then return s,e,cap,sep end
|
||||
start = st+1
|
||||
end
|
||||
|
||||
@@ -47,10 +47,10 @@ local function getControlWithFocus()
|
||||
or ide.osname == 'Macintosh' and
|
||||
ctrl:GetParent():GetId() == e:GetId()) then editor = e end
|
||||
end
|
||||
return editor
|
||||
return editor or nil
|
||||
end
|
||||
|
||||
function OnUpdateUIEditMenu(event)
|
||||
local function onUpdateUIEditMenu(event)
|
||||
local editor = getControlWithFocus()
|
||||
if editor == nil then event:Enable(false); return end
|
||||
|
||||
@@ -67,7 +67,11 @@ function OnUpdateUIEditMenu(event)
|
||||
menu_id == ID_REDO and editor:CanRedo() or
|
||||
alwaysOn[menu_id]
|
||||
-- wxComboBox doesn't have SELECT ALL, so disable it
|
||||
if editor:GetClassInfo():GetClassName() == 'wxComboBox'
|
||||
-- editor:GetClassInfo mysteriously fails on Ubuntu 13.10 (earlier versions
|
||||
-- are okay), which indicates that the menu item is checked after editor
|
||||
-- is already closed, so the first pcall() check should protect against that.
|
||||
if pcall(function() editor:GetId() end)
|
||||
and editor:GetClassInfo():GetClassName() == 'wxComboBox'
|
||||
and menu_id == ID_SELECTALL then enable = false end
|
||||
event:Enable(enable)
|
||||
end
|
||||
@@ -98,7 +102,7 @@ end
|
||||
|
||||
for _, event in pairs({ID_CUT, ID_COPY, ID_PASTE, ID_SELECTALL, ID_UNDO, ID_REDO}) do
|
||||
frame:Connect(event, wx.wxEVT_COMMAND_MENU_SELECTED, OnEditMenu)
|
||||
frame:Connect(event, wx.wxEVT_UPDATE_UI, OnUpdateUIEditMenu)
|
||||
frame:Connect(event, wx.wxEVT_UPDATE_UI, onUpdateUIEditMenu)
|
||||
end
|
||||
|
||||
local function generateConfigMessage(type)
|
||||
@@ -148,7 +152,7 @@ frame:Connect(ID_AUTOCOMPLETE, wx.wxEVT_COMMAND_MENU_SELECTED,
|
||||
function (event)
|
||||
EditorAutoComplete(GetEditor())
|
||||
end)
|
||||
frame:Connect(ID_AUTOCOMPLETE, wx.wxEVT_UPDATE_UI, OnUpdateUIEditMenu)
|
||||
frame:Connect(ID_AUTOCOMPLETE, wx.wxEVT_UPDATE_UI, onUpdateUIEditMenu)
|
||||
|
||||
frame:Connect(ID_AUTOCOMPLETEENABLE, wx.wxEVT_COMMAND_MENU_SELECTED,
|
||||
function (event)
|
||||
@@ -215,7 +219,7 @@ frame:Connect(ID_COMMENT, wx.wxEVT_COMMAND_MENU_SELECTED,
|
||||
+ math.max(0, curpos+#editor:GetLine(curline)-curlen))
|
||||
end
|
||||
end)
|
||||
frame:Connect(ID_COMMENT, wx.wxEVT_UPDATE_UI, OnUpdateUIEditMenu)
|
||||
frame:Connect(ID_COMMENT, wx.wxEVT_UPDATE_UI, onUpdateUIEditMenu)
|
||||
|
||||
frame:Connect(ID_SORT, wx.wxEVT_COMMAND_MENU_SELECTED,
|
||||
function (event)
|
||||
@@ -233,10 +237,10 @@ frame:Connect(ID_SORT, wx.wxEVT_COMMAND_MENU_SELECTED,
|
||||
editor:ReplaceSelection(table.concat(buf,"\n"))
|
||||
end
|
||||
end)
|
||||
frame:Connect(ID_SORT, wx.wxEVT_UPDATE_UI, OnUpdateUIEditMenu)
|
||||
frame:Connect(ID_SORT, wx.wxEVT_UPDATE_UI, onUpdateUIEditMenu)
|
||||
|
||||
frame:Connect(ID_FOLD, wx.wxEVT_COMMAND_MENU_SELECTED,
|
||||
function (event)
|
||||
FoldSome()
|
||||
end)
|
||||
frame:Connect(ID_FOLD, wx.wxEVT_UPDATE_UI, OnUpdateUIEditMenu)
|
||||
frame:Connect(ID_FOLD, wx.wxEVT_UPDATE_UI, onUpdateUIEditMenu)
|
||||
|
||||
@@ -29,10 +29,11 @@ local debugTab = {
|
||||
{ ID_TOGGLEBREAKPOINT, TR("Toggle Break&point")..KSC(ID_TOGGLEBREAKPOINT), TR("Toggle breakpoint") },
|
||||
{ },
|
||||
{ ID_CLEAROUTPUT, TR("C&lear Output Window")..KSC(ID_CLEAROUTPUT), TR("Clear the output window before compiling or debugging"), wx.wxITEM_CHECK },
|
||||
{ ID_COMMANDLINEPARAMETERS, TR("Command Line Parameters...")..KSC(ID_COMMANDLINEPARAMETERS), TR("Provide command line parameters") },
|
||||
}
|
||||
|
||||
local targetDirMenu = wx.wxMenu{
|
||||
{ID_PROJECTDIRCHOOSE, TR("Choose ...")..KSC(ID_PROJECTDIRCHOOSE), TR("Choose a project directory")},
|
||||
{ID_PROJECTDIRCHOOSE, TR("Choose...")..KSC(ID_PROJECTDIRCHOOSE), TR("Choose a project directory")},
|
||||
{ID_PROJECTDIRFROMFILE, TR("Set From Current File")..KSC(ID_PROJECTDIRFROMFILE), TR("Set project directory from current file")},
|
||||
}
|
||||
local targetMenu = wx.wxMenu({})
|
||||
@@ -54,9 +55,10 @@ local function selectInterpreter(id)
|
||||
menuBar:Check(id, true)
|
||||
menuBar:Enable(id, false)
|
||||
|
||||
if ide.interpreter and ide.interpreter ~= interpreters[id] then
|
||||
local changed = ide.interpreter ~= interpreters[id]
|
||||
if ide.interpreter and changed then
|
||||
PackageEventHandle("onInterpreterClose", ide.interpreter) end
|
||||
if interpreters[id] and ide.interpreter ~= interpreters[id] then
|
||||
if interpreters[id] and changed then
|
||||
PackageEventHandle("onInterpreterLoad", interpreters[id]) end
|
||||
|
||||
ide.interpreter = interpreters[id]
|
||||
@@ -64,7 +66,7 @@ local function selectInterpreter(id)
|
||||
DebuggerShutdown()
|
||||
|
||||
ide.frame.statusBar:SetStatusText(ide.interpreter.name or "", 5)
|
||||
ReloadLuaAPI()
|
||||
if changed then ReloadLuaAPI() end
|
||||
end
|
||||
|
||||
function ProjectSetInterpreter(name)
|
||||
@@ -396,6 +398,17 @@ frame:Connect(ID_BREAK, wx.wxEVT_UPDATE_UI,
|
||||
or (debugger.scratchpad and not debugger.scratchpad.paused)))
|
||||
end)
|
||||
|
||||
frame:Connect(ID_COMMANDLINEPARAMETERS, wx.wxEVT_COMMAND_MENU_SELECTED,
|
||||
function ()
|
||||
local params = wx.wxGetTextFromUser(TR("Enter command line parameters (use Cancel to clear)"),
|
||||
TR("Command line parameters"), ide.config.arg.any or "")
|
||||
ide.config.arg.any = params and #params > 0 and params or nil
|
||||
end)
|
||||
frame:Connect(ID_COMMANDLINEPARAMETERS, wx.wxEVT_UPDATE_UI,
|
||||
function (event)
|
||||
event:Enable(ide.interpreter and ide.interpreter.takeparameters and true or false)
|
||||
end)
|
||||
|
||||
frame:Connect(wx.wxEVT_IDLE,
|
||||
function(event)
|
||||
if (debugger.update) then debugger.update() end
|
||||
|
||||
@@ -13,6 +13,8 @@ local findMenu = wx.wxMenu{
|
||||
{ ID_FIND, TR("&Find")..KSC(ID_FIND), TR("Find text") },
|
||||
{ ID_FINDNEXT, TR("Find &Next")..KSC(ID_FINDNEXT), TR("Find the next text occurrence") },
|
||||
{ ID_FINDPREV, TR("Find &Previous")..KSC(ID_FINDPREV), TR("Find the earlier text occurence") },
|
||||
{ ID_FINDSELECTNEXT, TR("Select and Find Next")..KSC(ID_FINDSELECTNEXT), TR("Select the word under cursor and find its next occurrence") },
|
||||
{ ID_FINDSELECTPREV, TR("Select and Find Previous")..KSC(ID_FINDSELECTPREV), TR("Select the word under cursor and find its previous occurrence") },
|
||||
{ ID_REPLACE, TR("&Replace")..KSC(ID_REPLACE), TR("Find and replace text") },
|
||||
{ },
|
||||
{ ID_FINDINFILES, TR("Find &In Files")..KSC(ID_FINDINFILES), TR("Find text in files") },
|
||||
@@ -22,19 +24,19 @@ local findMenu = wx.wxMenu{
|
||||
}
|
||||
menuBar:Append(findMenu, TR("&Search"))
|
||||
|
||||
function OnUpdateUISearchMenu(event) event:Enable(GetEditor() ~= nil) end
|
||||
local function onUpdateUISearchMenu(event) event:Enable(GetEditor() ~= nil) end
|
||||
|
||||
frame:Connect(ID_FIND, wx.wxEVT_COMMAND_MENU_SELECTED,
|
||||
function (event)
|
||||
findReplace:Show(false)
|
||||
end)
|
||||
frame:Connect(ID_FIND, wx.wxEVT_UPDATE_UI, OnUpdateUISearchMenu)
|
||||
frame:Connect(ID_FIND, wx.wxEVT_UPDATE_UI, onUpdateUISearchMenu)
|
||||
|
||||
frame:Connect(ID_REPLACE, wx.wxEVT_COMMAND_MENU_SELECTED,
|
||||
function (event)
|
||||
findReplace:Show(true)
|
||||
end)
|
||||
frame:Connect(ID_REPLACE, wx.wxEVT_UPDATE_UI, OnUpdateUISearchMenu)
|
||||
frame:Connect(ID_REPLACE, wx.wxEVT_UPDATE_UI, onUpdateUISearchMenu)
|
||||
|
||||
frame:Connect(ID_FINDINFILES, wx.wxEVT_COMMAND_MENU_SELECTED,
|
||||
function (event)
|
||||
@@ -54,12 +56,14 @@ frame:Connect(ID_FINDNEXT, wx.wxEVT_COMMAND_MENU_SELECTED,
|
||||
editor:SetMainSelection(selection)
|
||||
editor:EnsureCaretVisible()
|
||||
else
|
||||
findReplace:GetSelectedString()
|
||||
findReplace:FindString()
|
||||
if findReplace:GetSelectedString() or findReplace:HasText() then
|
||||
findReplace:FindString()
|
||||
else
|
||||
findReplace:Show(false)
|
||||
end
|
||||
end
|
||||
end)
|
||||
frame:Connect(ID_FINDNEXT, wx.wxEVT_UPDATE_UI,
|
||||
function (event) event:Enable(findReplace:GetSelectedString() or findReplace:HasText()) end)
|
||||
frame:Connect(ID_FINDNEXT, wx.wxEVT_UPDATE_UI, onUpdateUISearchMenu)
|
||||
|
||||
frame:Connect(ID_FINDPREV, wx.wxEVT_COMMAND_MENU_SELECTED,
|
||||
function (event)
|
||||
@@ -70,12 +74,58 @@ frame:Connect(ID_FINDPREV, wx.wxEVT_COMMAND_MENU_SELECTED,
|
||||
editor:SetMainSelection(selection)
|
||||
editor:EnsureCaretVisible()
|
||||
else
|
||||
findReplace:GetSelectedString()
|
||||
if findReplace:GetSelectedString() or findReplace:HasText() then
|
||||
findReplace:FindString(true) -- search up
|
||||
else
|
||||
findReplace:Show(false)
|
||||
end
|
||||
end
|
||||
end)
|
||||
frame:Connect(ID_FINDPREV, wx.wxEVT_UPDATE_UI, onUpdateUISearchMenu)
|
||||
|
||||
-- Select and Find behaves like Find if there is a current selection;
|
||||
-- if not, it selects a word under cursor (if any) and does find.
|
||||
|
||||
local function selectWordUnderCaret(editor)
|
||||
local pos = editor:GetCurrentPos()
|
||||
local text = editor:GetTextRange( -- try to select a word under caret
|
||||
editor:WordStartPosition(pos, true), editor:WordEndPosition(pos, true))
|
||||
return #text > 0 and text or editor:GetTextRange( -- try to select a non-word under caret
|
||||
editor:WordStartPosition(pos, false), editor:WordEndPosition(pos, false))
|
||||
end
|
||||
frame:Connect(ID_FINDSELECTNEXT, wx.wxEVT_COMMAND_MENU_SELECTED,
|
||||
function (event)
|
||||
local editor = GetEditor()
|
||||
if editor:GetSelectionStart() ~= editor:GetSelectionEnd() then
|
||||
ide.frame:AddPendingEvent(
|
||||
wx.wxCommandEvent(wx.wxEVT_COMMAND_MENU_SELECTED, ID_FINDNEXT))
|
||||
return
|
||||
end
|
||||
|
||||
local text = selectWordUnderCaret(editor)
|
||||
if #text > 0 then
|
||||
findReplace.findText = text
|
||||
findReplace:FindString()
|
||||
end
|
||||
end)
|
||||
frame:Connect(ID_FINDSELECTNEXT, wx.wxEVT_UPDATE_UI, onUpdateUISearchMenu)
|
||||
|
||||
frame:Connect(ID_FINDSELECTPREV, wx.wxEVT_COMMAND_MENU_SELECTED,
|
||||
function (event)
|
||||
local editor = GetEditor()
|
||||
if editor:GetSelectionStart() ~= editor:GetSelectionEnd() then
|
||||
ide.frame:AddPendingEvent(
|
||||
wx.wxCommandEvent(wx.wxEVT_COMMAND_MENU_SELECTED, ID_FINDPREV))
|
||||
return
|
||||
end
|
||||
|
||||
local text = selectWordUnderCaret(editor)
|
||||
if #text > 0 then
|
||||
findReplace.findText = text
|
||||
findReplace:FindString(true)
|
||||
end
|
||||
end)
|
||||
frame:Connect(ID_FINDPREV, wx.wxEVT_UPDATE_UI,
|
||||
function (event) event:Enable(findReplace:GetSelectedString() or findReplace:HasText()) end)
|
||||
frame:Connect(ID_FINDSELECTPREV, wx.wxEVT_UPDATE_UI, onUpdateUISearchMenu)
|
||||
|
||||
-------------------- Find replace end
|
||||
|
||||
@@ -93,4 +143,4 @@ frame:Connect(ID_GOTOLINE, wx.wxEVT_COMMAND_MENU_SELECTED,
|
||||
editor:GotoLine(linenum-1)
|
||||
end
|
||||
end)
|
||||
frame:Connect(ID_GOTOLINE, wx.wxEVT_UPDATE_UI, OnUpdateUISearchMenu)
|
||||
frame:Connect(ID_GOTOLINE, wx.wxEVT_UPDATE_UI, onUpdateUISearchMenu)
|
||||
|
||||
@@ -46,6 +46,9 @@ frame:Connect(ID_VIEWDEFAULTLAYOUT, wx.wxEVT_COMMAND_MENU_SELECTED,
|
||||
uimgr:LoadPerspective(uimgr.defaultPerspective, true)
|
||||
end)
|
||||
|
||||
frame:Connect(ID_VIEWMINIMIZE, wx.wxEVT_COMMAND_MENU_SELECTED,
|
||||
function (event) ide.frame:Iconize(true) end)
|
||||
|
||||
frame:Connect(ID_VIEWFULLSCREEN, wx.wxEVT_COMMAND_MENU_SELECTED, function ()
|
||||
pcall(function() ShowFullScreen(not frame:IsFullScreen()) end)
|
||||
end)
|
||||
|
||||
@@ -41,7 +41,7 @@ function DisplayOutputNoMarker(...)
|
||||
|
||||
local current = errorlog:GetReadOnly()
|
||||
errorlog:SetReadOnly(false)
|
||||
errorlog:AppendText(message)
|
||||
errorlog:AppendText(FixUTF8(message, "\022"))
|
||||
errorlog:EmptyUndoBuffer()
|
||||
errorlog:SetReadOnly(current)
|
||||
errorlog:GotoPos(errorlog:GetLength())
|
||||
@@ -63,7 +63,10 @@ local textout = '' -- this is a buffer for any text sent to external scripts
|
||||
|
||||
function DetachChildProcess()
|
||||
for _, custom in pairs(customprocs) do
|
||||
if (custom and custom.proc) then custom.proc:Detach() end
|
||||
-- since processes are detached, their END_PROCESS event is not going
|
||||
-- to be called; call endcallback() manually if registered.
|
||||
if custom.endcallback then custom.endcallback() end
|
||||
if custom.proc then custom.proc:Detach() end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -430,3 +433,13 @@ errorlog:Connect(wxstc.wxEVT_STC_DO_DROP,
|
||||
event:SetDragResult(wx.wxDragNone)
|
||||
end
|
||||
end)
|
||||
|
||||
if ide.config.outputshell.nomousezoom then
|
||||
-- disable zoom using mouse wheel as it triggers zooming when scrolling
|
||||
-- on OSX with kinetic scroll and then pressing CMD.
|
||||
errorlog:Connect(wx.wxEVT_MOUSEWHEEL,
|
||||
function (event)
|
||||
if wx.wxGetKeyState(wx.WXK_CONTROL) then return end
|
||||
event:Skip()
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -61,12 +61,30 @@ function PackageRegister(file, ...)
|
||||
return PackageEventHandleOne(file, "onRegister", ...)
|
||||
end
|
||||
|
||||
function ide:GetRootPath() return GetPathWithSep(ide.editorFilename) end
|
||||
function ide:GetPackagePath(packname)
|
||||
return MergeFullPath(
|
||||
ide.oshome and MergeFullPath(ide.oshome, '.zbstudio/') or ide:GetRootPath(),
|
||||
MergeFullPath('packages', packname or '')
|
||||
)
|
||||
end
|
||||
function ide:GetApp() return self.editorApp end
|
||||
function ide:GetEditor(index) return GetEditor(index) end
|
||||
function ide:GetMenuBar() return self.frame.menuBar end
|
||||
function ide:GetStatusBar() return self.frame.statusBar end
|
||||
function ide:GetToolBar() return self.frame.toolBar end
|
||||
function ide:GetDebugger() return self.debugger end
|
||||
function ide:GetMainFrame() return self.frame end
|
||||
function ide:GetDocument(ed) return self.openDocuments[ed:GetId()] end
|
||||
function ide:GetDocuments() return self.openDocuments end
|
||||
function ide:FindMenuItem(menu, itemid)
|
||||
for pos = 0, menu:GetMenuItemCount()-1 do
|
||||
if menu:FindItemByPosition(pos):GetId() == itemid then
|
||||
return menu:FindItemByPosition(pos), pos
|
||||
end
|
||||
end
|
||||
return nil
|
||||
end
|
||||
function ide:FindDocument(path)
|
||||
local fileName = wx.wxFileName(path)
|
||||
for _, doc in pairs(ide.openDocuments) do
|
||||
@@ -143,6 +161,7 @@ function ide:AddConfig(name, files)
|
||||
if not name or configcache[name] then return end -- don't overwrite existing slots
|
||||
configcache[name] = require('mobdebug').dump(ide.config, {nocode = true})
|
||||
for _, file in pairs(files) do LoadLuaConfig(MergeFullPath(name, file)) end
|
||||
ReApplySpecAndStyles() -- apply current config to the UI
|
||||
end
|
||||
function ide:RemoveConfig(name)
|
||||
if not name or not configcache[name] then return end
|
||||
@@ -152,4 +171,5 @@ function ide:RemoveConfig(name)
|
||||
DisplayOutputLn(("Error while restoring configuration: '%s'."):format(res))
|
||||
end
|
||||
configcache[name] = nil -- clear the slot after use
|
||||
ReApplySpecAndStyles() -- apply current config to the UI
|
||||
end
|
||||
|
||||
@@ -55,6 +55,9 @@ local function setPromptText(text)
|
||||
out:SetTargetStart(length - string.len(getPromptText()))
|
||||
out:SetTargetEnd(length)
|
||||
out:ReplaceTarget(text)
|
||||
-- refresh the output window to force recalculation of wrapped lines;
|
||||
-- otherwise a wrapped part of the last line may not be visible.
|
||||
out:Update(); out:Refresh()
|
||||
out:GotoPos(out:GetLength())
|
||||
end
|
||||
|
||||
@@ -143,13 +146,13 @@ local function shellPrint(marker, ...)
|
||||
text = text .. tostring(x)..(i < cnt and "\t" or "")
|
||||
end
|
||||
-- add "\n" if it is missing
|
||||
if text then text = text:gsub("\n$", "") .. "\n" end
|
||||
if text then text = text:gsub("\n+$", "") .. "\n" end
|
||||
|
||||
local lines = out:GetLineCount()
|
||||
local promptLine = isPrompt and getPromptLine() or nil
|
||||
local insertLineAt = isPrompt and getPromptLine() or out:GetLineCount()-1
|
||||
local insertAt = isPrompt and out:PositionFromLine(getPromptLine()) or out:GetLength()
|
||||
out:InsertText(insertAt, text)
|
||||
out:InsertText(insertAt, FixUTF8(text, function (s) return '\\'..string.byte(s) end))
|
||||
local linesAdded = out:GetLineCount() - lines
|
||||
|
||||
if marker then
|
||||
@@ -391,8 +394,8 @@ out:Connect(wx.wxEVT_KEY_DOWN,
|
||||
-- through multiline entry
|
||||
if out:GetCurrentLine() > getPromptLine() then break end
|
||||
|
||||
-- if we are not on the caret line, then don't move
|
||||
if not caretOnPromptLine() then return end
|
||||
-- if we are not on the caret line, move normally
|
||||
if not caretOnPromptLine() then break end
|
||||
|
||||
local promptText = getPromptText()
|
||||
setPromptText(getNextHistoryLine(false, promptText))
|
||||
@@ -403,7 +406,9 @@ out:Connect(wx.wxEVT_KEY_DOWN,
|
||||
local totalLines = out:GetLineCount()-1
|
||||
if out:GetCurrentLine() < totalLines then break end
|
||||
|
||||
-- if we are not on the caret line, move normally
|
||||
if not caretOnPromptLine() then break end
|
||||
|
||||
local promptText = getPromptText()
|
||||
setPromptText(getNextHistoryLine(true, promptText))
|
||||
return
|
||||
@@ -429,8 +434,6 @@ out:Connect(wx.wxEVT_KEY_DOWN,
|
||||
elseif key == wx.WXK_ESCAPE then
|
||||
setPromptText("")
|
||||
return
|
||||
elseif key == wx.WXK_LEFT or key == wx.WXK_NUMPAD_LEFT then
|
||||
if not caretOnPromptLine(true) then return end
|
||||
elseif key == wx.WXK_BACK then
|
||||
if not caretOnPromptLine(true) then return end
|
||||
elseif key == wx.WXK_DELETE or key == wx.WXK_NUMPAD_DELETE then
|
||||
@@ -442,6 +445,7 @@ out:Connect(wx.wxEVT_KEY_DOWN,
|
||||
or key == wx.WXK_PAGEDOWN or key == wx.WXK_NUMPAD_PAGEDOWN
|
||||
or key == wx.WXK_END or key == wx.WXK_NUMPAD_END
|
||||
or key == wx.WXK_HOME or key == wx.WXK_NUMPAD_HOME
|
||||
or key == wx.WXK_LEFT or key == wx.WXK_NUMPAD_LEFT
|
||||
or key == wx.WXK_RIGHT or key == wx.WXK_NUMPAD_RIGHT
|
||||
or key == wx.WXK_SHIFT or key == wx.WXK_CONTROL
|
||||
or key == wx.WXK_ALT then
|
||||
@@ -486,7 +490,7 @@ local function inputEditable(line)
|
||||
not (out:LineFromPosition(out:GetSelectionStart()) < getPromptLine())
|
||||
end
|
||||
|
||||
-- new Scintilla changed the way markers move when the text is updated
|
||||
-- new Scintilla (3.2.1) changed the way markers move when the text is updated
|
||||
-- ticket: http://sourceforge.net/p/scintilla/bugs/939/
|
||||
-- discussion: https://groups.google.com/forum/?hl=en&fromgroups#!topic/scintilla-interest/4giFiKG4VXo
|
||||
if ide.wxver >= "2.9.5" then
|
||||
@@ -524,4 +528,14 @@ out:Connect(wxstc.wxEVT_STC_DO_DROP,
|
||||
end
|
||||
end)
|
||||
|
||||
if ide.config.outputshell.nomousezoom then
|
||||
-- disable zoom using mouse wheel as it triggers zooming when scrolling
|
||||
-- on OSX with kinetic scroll and then pressing CMD.
|
||||
out:Connect(wx.wxEVT_MOUSEWHEEL,
|
||||
function (event)
|
||||
if wx.wxGetKeyState(wx.WXK_CONTROL) then return end
|
||||
event:Skip()
|
||||
end)
|
||||
end
|
||||
|
||||
displayShellIntro()
|
||||
|
||||
@@ -51,7 +51,15 @@ if success then -- ok, server was started, we are solo
|
||||
local filename = msg:match(protocol.client.requestloading:gsub("%%s","(.+)$"))
|
||||
if filename then
|
||||
RequestAttention()
|
||||
if not LoadFile(filename, nil, true) then
|
||||
local done = true
|
||||
if wx.wxDirExists(filename) then
|
||||
local dir = wx.wxFileName.DirName(filename)
|
||||
dir:Normalize() -- turn into absolute path if needed
|
||||
ProjectUpdateProjectDir(dir:GetFullPath())
|
||||
else
|
||||
done = LoadFile(filename, nil, true)
|
||||
end
|
||||
if not done then
|
||||
DisplayOutputLn("Can't open requested file '"..filename.."'.")
|
||||
end
|
||||
end
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
-- ---------------------------
|
||||
-- fg foreground - {r,g,b} 0-255
|
||||
-- bg background - {r,g,b} 0-255
|
||||
-- alpha translucency - 0-255 (0 - transparent, 255 - opaque, 256 - opaque/faster)
|
||||
-- sel color of the selected block - {r,g,b} 0-255 (only applies to folds)
|
||||
-- u underline - boolean
|
||||
-- b bold - boolean
|
||||
@@ -50,7 +51,6 @@ function StylesGetDefault()
|
||||
calltip = nil,
|
||||
|
||||
-- common special (need custom fg & bg)
|
||||
calltipbg = nil,
|
||||
sel = {bg = {192, 192, 192}},
|
||||
caret = {fg = {0, 0, 0}},
|
||||
caretlinebg = {bg = {240, 240, 230}},
|
||||
@@ -127,10 +127,28 @@ local specialmapping = {
|
||||
else
|
||||
editor:SetSelBackground(0,wx.wxWHITE)
|
||||
end
|
||||
if (style.alpha and ide.wxver >= "2.9.5") then
|
||||
editor:SetSelAlpha(style.alpha)
|
||||
end
|
||||
|
||||
-- set alpha for additional selecton: 0 - transparent, 255 - opaque
|
||||
if ide.wxver >= "2.9.5" then editor:SetAdditionalSelAlpha(127) end
|
||||
end,
|
||||
|
||||
seladd = function(editor,style)
|
||||
if ide.wxver >= "2.9.5" then
|
||||
if (style.fg) then
|
||||
editor:SetAdditionalSelForeground(wx.wxColour(unpack(style.fg)))
|
||||
end
|
||||
if (style.bg) then
|
||||
editor:SetAdditionalSelBackground(wx.wxColour(unpack(style.bg)))
|
||||
end
|
||||
if (style.alpha) then
|
||||
editor:SetAdditionalSelAlpha(style.alpha)
|
||||
end
|
||||
end
|
||||
end,
|
||||
|
||||
caret = function(editor,style)
|
||||
if (style.fg) then
|
||||
editor:SetCaretForeground(wx.wxColour(unpack(style.fg)))
|
||||
@@ -141,6 +159,9 @@ local specialmapping = {
|
||||
if (style.bg) then
|
||||
editor:SetCaretLineBackground(wx.wxColour(unpack(style.bg)))
|
||||
end
|
||||
if (style.alpha and ide.wxver >= "2.9.5") then
|
||||
editor:SetCaretLineBackAlpha(style.alpha)
|
||||
end
|
||||
end,
|
||||
|
||||
whitespace = function(editor,style)
|
||||
@@ -156,12 +177,6 @@ local specialmapping = {
|
||||
end
|
||||
end,
|
||||
|
||||
calltipbg = function(editor,style)
|
||||
if (style.bg) then
|
||||
editor:CallTipSetBackground(wx.wxColour(unpack(style.bg)))
|
||||
end
|
||||
end,
|
||||
|
||||
fold = function(editor,style)
|
||||
local clrfg = style.fg and wx.wxColour(unpack(style.fg))
|
||||
local clrbg = style.bg and wx.wxColour(unpack(style.bg))
|
||||
@@ -216,6 +231,30 @@ local specialmapping = {
|
||||
editor:MarkerDefine(id, ch, fg, bg)
|
||||
end
|
||||
end,
|
||||
|
||||
auxwindow = function(editor,style)
|
||||
if not style then return end
|
||||
|
||||
local default = wxstc.wxSTC_STYLE_DEFAULT
|
||||
local bg = style.bg and wx.wxColour(unpack(style.bg)) or editor:StyleGetBackground(default)
|
||||
local fg = style.fg and wx.wxColour(unpack(style.fg)) or editor:StyleGetForeground(default)
|
||||
|
||||
local uimgr = ide.frame.uimgr
|
||||
local panes = uimgr:GetAllPanes()
|
||||
for index = 0, panes:GetCount()-1 do
|
||||
local wind = uimgr:GetPane(panes:Item(index).name).window
|
||||
local children = wind:GetChildren()
|
||||
for child = 0, children:GetCount()-1 do
|
||||
local data = children:Item(child):GetData()
|
||||
local _, window = pcall(function() return data:DynamicCast("wxWindow") end)
|
||||
if window then
|
||||
window:SetBackgroundColour(bg)
|
||||
window:SetForegroundColour(fg)
|
||||
window:Refresh()
|
||||
end
|
||||
end
|
||||
end
|
||||
end,
|
||||
}
|
||||
|
||||
local defaultmapping = {
|
||||
@@ -289,6 +328,13 @@ function StylesApplyToEditor(styles,editor,font,fontitalic,lexerconvert)
|
||||
end
|
||||
end
|
||||
|
||||
-- additional selection (seladd) attributes can only be set after
|
||||
-- normal selection (sel) attributes are set, so handle them again
|
||||
if styles.seladd then specialmapping.seladd(editor, styles.seladd) end
|
||||
|
||||
-- calltip has a special style that needs to be enabled
|
||||
if styles.calltip then editor:CallTipUseStyle(2) end
|
||||
|
||||
do
|
||||
local defaultfg = styles.text and styles.text.fg or {127,127,127}
|
||||
local indic = styles.indicator or {}
|
||||
@@ -316,19 +362,17 @@ function ReApplySpecAndStyles()
|
||||
-- these styles need to be updated as they are based on comment styles
|
||||
if MarkupAddStyles then MarkupAddStyles(ide.config.styles) end
|
||||
|
||||
local errorlog = ide.frame.bottomnotebook.errorlog
|
||||
local shellbox = ide.frame.bottomnotebook.shellbox
|
||||
SetupKeywords(shellbox,"lua",nil,ide.config.stylesoutshell,ide.font.oNormal,ide.font.oItalic)
|
||||
StylesApplyToEditor(ide.config.stylesoutshell,errorlog,ide.font.oNormal,ide.font.oItalic)
|
||||
|
||||
local openDocuments = ide.openDocuments
|
||||
for i,doc in pairs(openDocuments) do
|
||||
if (doc.editor.spec) then
|
||||
SetupKeywords(doc.editor,nil,doc.editor.spec)
|
||||
end
|
||||
end
|
||||
|
||||
local errorlog = ide.frame.bottomnotebook.errorlog
|
||||
local shellbox = ide.frame.bottomnotebook.shellbox
|
||||
|
||||
SetupKeywords(shellbox,"lua",nil,ide.config.stylesoutshell,ide.font.oNormal,ide.font.oItalic)
|
||||
|
||||
StylesApplyToEditor(ide.config.stylesoutshell,errorlog,ide.font.oNormal,ide.font.oItalic)
|
||||
end
|
||||
|
||||
function ApplyStyleConfig(config, style)
|
||||
|
||||
36
src/main.lua
36
src/main.lua
@@ -73,6 +73,7 @@ ide = {
|
||||
strategy = 2,
|
||||
width = 60,
|
||||
},
|
||||
arg = {}, -- command line arguments
|
||||
|
||||
activateoutput = false, -- activate output/console on Run/Debug/Compile
|
||||
unhidewindow = false, -- to unhide a gui window
|
||||
@@ -170,6 +171,8 @@ if not setfenv then -- Lua 5.2
|
||||
return f end
|
||||
end
|
||||
|
||||
dofile "src/version.lua"
|
||||
|
||||
for _, file in ipairs({"ids", "style", "keymap", "proto"}) do
|
||||
dofile("src/editor/"..file..".lua")
|
||||
end
|
||||
@@ -260,7 +263,9 @@ ide.app = dofile(ide.config.path.app.."/app.lua")
|
||||
local app = assert(ide.app)
|
||||
|
||||
local function loadToTab(filter, folder, tab, recursive, proto)
|
||||
filter = filter and type(filter) ~= 'function' and app.loadfilters[filter] or nil
|
||||
if filter and type(filter) ~= 'function' then
|
||||
filter = app.loadfilters[filter] or nil
|
||||
end
|
||||
for _, file in ipairs(FileSysGetRecursive(folder, recursive, "*.lua")) do
|
||||
if not filter or filter(file) then
|
||||
LoadLuaFileExt(tab, file, proto)
|
||||
@@ -285,8 +290,26 @@ local function loadPackages(filter)
|
||||
local userpackages = MergeFullPath(ide.oshome, ".zbstudio/packages")
|
||||
loadToTab(filter, userpackages, ide.packages, false, ide.proto.Plugin)
|
||||
end
|
||||
-- assign file names to each package
|
||||
for fname, package in pairs(ide.packages) do package.fname = fname end
|
||||
|
||||
-- check dependencies and assign file names to each package
|
||||
local unload = {}
|
||||
for fname, package in pairs(ide.packages) do
|
||||
local needsversion = tonumber(package.dependencies)
|
||||
or type(package.dependencies) == 'table' and tonumber(package.dependencies[1])
|
||||
or -1
|
||||
local isversion = tonumber(ide.VERSION)
|
||||
if isversion and needsversion > isversion then
|
||||
(DisplayOutputLn or print)(
|
||||
("Package '%s' not loaded: requires version %s, but you are running version %s")
|
||||
:format(fname, needsversion, ide.VERSION)
|
||||
)
|
||||
table.insert(unload, fname)
|
||||
end
|
||||
package.fname = fname
|
||||
end
|
||||
|
||||
-- remove packages that need to be unloaded
|
||||
for _, fname in ipairs(unload) do ide.packages[fname] = nil end
|
||||
end
|
||||
|
||||
function UpdateSpecs()
|
||||
@@ -408,8 +431,6 @@ for _, file in ipairs({
|
||||
dofile("src/editor/"..file..".lua")
|
||||
end
|
||||
|
||||
dofile "src/version.lua"
|
||||
|
||||
-- register all the plugins
|
||||
PackageEventHandle("onRegister")
|
||||
|
||||
@@ -447,6 +468,11 @@ end
|
||||
|
||||
if app.postinit then app.postinit() end
|
||||
|
||||
if ide.osname == 'Macintosh' then
|
||||
ide.frame:SetAcceleratorTable(wx.wxAcceleratorTable({
|
||||
wx.wxAcceleratorEntry(wx.wxACCEL_CTRL, ('M'):byte(), ID_VIEWMINIMIZE)
|
||||
}))
|
||||
end
|
||||
-- only set menu bar *after* postinit handler as it may include adding
|
||||
-- app-specific menus (Help/About), which are not recognized by MacOS
|
||||
-- as special items unless SetMenuBar is done after menus are populated.
|
||||
|
||||
@@ -321,6 +321,7 @@ function RequestAttention()
|
||||
local cmd = [[osascript -e 'tell application "%s" to activate']]
|
||||
wx.wxExecute(cmd:format(ide.editorApp:GetAppName()), wx.wxEXEC_ASYNC)
|
||||
elseif ide.osname == "Windows" then
|
||||
if frame:IsIconized() then frame:Iconize(false) end
|
||||
frame:Raise() -- raise the window
|
||||
|
||||
local winapi = require 'winapi'
|
||||
@@ -334,7 +335,9 @@ function RequestAttention()
|
||||
-- found the window, now need to activate it:
|
||||
-- send some input to the window and then
|
||||
-- bring our window to foreground (doesn't work without some input)
|
||||
winapi.send_to_window(0x1B)
|
||||
-- send Attn key twice (down and up)
|
||||
winapi.send_to_window(0xF6, false)
|
||||
winapi.send_to_window(0xF6, true)
|
||||
for _, w in ipairs(wins) do w:set_foreground() end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -13,6 +13,36 @@ editor.CallTipShow = CTS
|
||||
ok(value:find("print") and not value:find("select"),
|
||||
"Tooltip ignores values in strings.")
|
||||
|
||||
local api = {
|
||||
t = {
|
||||
childs = {
|
||||
func = {
|
||||
args = "(args)",
|
||||
description = [[Description Line1
|
||||
Line2
|
||||
|
||||
Line4
|
||||
Line5
|
||||
|
||||
Line7]],
|
||||
returns = "(returns)",
|
||||
type = "function"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ide:AddAPI("lua", "test", api)
|
||||
table.insert(ide.interpreter.api, "test")
|
||||
ReloadLuaAPI()
|
||||
local tooltip = GetTipInfo(editor, "t.func(")
|
||||
ok(tooltip:find("Line1\nLine2"), "Newlines are shown as newlines in tooltip")
|
||||
ok(tooltip:find("Line2\n\nLine4"), "Empty lines are shown as empty lines in tooltip")
|
||||
ok(tooltip:find("Line4\n\tLine5"), "Newlines with indentation are shown as lines with indentation in tooltip")
|
||||
ok(tooltip:find("Line5\n\t\n\tLine7"), "Empty lines with indentation are shown in tooltip")
|
||||
ide:RemoveAPI("lua", "test")
|
||||
ReloadLuaAPI()
|
||||
|
||||
-- cleanup
|
||||
ide:GetDocument(editor).isModified = false
|
||||
ClosePage()
|
||||
|
||||
19
t/5-text.lua
Normal file
19
t/5-text.lua
Normal file
@@ -0,0 +1,19 @@
|
||||
local output = ide.frame.bottomnotebook.errorlog
|
||||
local shell = ide.frame.bottomnotebook.shellbox
|
||||
|
||||
local text = output:GetText()
|
||||
output:SetReadOnly(false)
|
||||
output:SetText("")
|
||||
DisplayOutputLn(string.char(0x80, 0x81, 0x82)) -- three invalid UTF-8 chars
|
||||
is(output:GetText(), '\022\022\022\n',
|
||||
"Output with invalid UTF-8 characters is displayed.")
|
||||
output:SetText(text)
|
||||
output:SetReadOnly(true)
|
||||
|
||||
local text = shell:GetText()
|
||||
shell:SetText("")
|
||||
DisplayShell(string.char(0x80, 0x81, 0x82)) -- three invalid UTF-8 chars
|
||||
is(shell:GetText(), [[\128\129\130]].."\n",
|
||||
"Console output with invalid UTF-8 characters is displayed.")
|
||||
shell:SetText(text)
|
||||
|
||||
18
tools/cg.lua
18
tools/cg.lua
@@ -1,15 +1,19 @@
|
||||
-- authors: Luxinia Dev (Eike Decker & Christoph Kubisch)
|
||||
---------------------------------------------------------
|
||||
|
||||
local cgbinpath = os.getenv("CG_BIN_PATH")
|
||||
local binpath = ide.config.path.cgbin or os.getenv("CG_BIN_PATH")
|
||||
local cgprofile
|
||||
local cgglsles
|
||||
|
||||
return cgbinpath and {
|
||||
return binpath and {
|
||||
fninit = function(frame,menuBar)
|
||||
cgprofile = ide.config.cgprofile or "gp5"
|
||||
cgglsles = ide.config.cgglsles
|
||||
cgbinpath = ide.config.path.cgbin or os.getenv("CG_BIN_PATH")
|
||||
|
||||
if (wx.wxFileName(binpath):IsRelative()) then
|
||||
local editorDir = string.gsub(ide.editorFilename:gsub("[^/\\]+$",""),"\\","/")
|
||||
binpath = editorDir..binpath
|
||||
end
|
||||
|
||||
local myMenu = wx.wxMenu{
|
||||
{ ID "cg.profile.arb", "&ARB VP/FP", "ARB program profile", wx.wxITEM_CHECK },
|
||||
@@ -93,7 +97,7 @@ return cgbinpath and {
|
||||
|
||||
-- check for NvPerf
|
||||
local perfexe = "/NVShaderPerf.exe"
|
||||
local fn = wx.wxFileName(cgbinpath..perfexe)
|
||||
local fn = wx.wxFileName(binpath..perfexe)
|
||||
local hasperf = fn:FileExists()
|
||||
|
||||
-- master file generator
|
||||
@@ -409,7 +413,7 @@ return cgbinpath and {
|
||||
local glsl = editor and editor.spec and editor.spec.apitype and editor.spec.apitype == "glsl"
|
||||
local entryname = (glsl and "main" or info.selword)
|
||||
|
||||
if (not (filename and entryname and cgbinpath)) then
|
||||
if (not (filename and entryname and binpath)) then
|
||||
DisplayOutput("Error: Cg Compile: Insufficient parameters (nofile / not selected entry function!\n")
|
||||
return
|
||||
end
|
||||
@@ -438,7 +442,7 @@ return cgbinpath and {
|
||||
cmdline = cmdline.."-o "..outname.." "
|
||||
cmdline = cmdline.."-entry "..entryname
|
||||
|
||||
cmdline = cgbinpath.."/cgc.exe"..cmdline
|
||||
cmdline = binpath.."/cgc.exe"..cmdline
|
||||
|
||||
local function nvperfcallback(str)
|
||||
local pixels = string.match(str,"([,%d]+) pixels/s")
|
||||
@@ -493,7 +497,7 @@ return cgbinpath and {
|
||||
cmdline = cmdline..(profiletypes[cgperfgpu][profile[domain]] or "")
|
||||
cmdline = cmdline..' "'..fullname..'"'
|
||||
|
||||
cmdline = cgbinpath..perfexe..cmdline
|
||||
cmdline = binpath..perfexe..cmdline
|
||||
CommandLineRun(cmdline,nil,true,nil,nvperfcallback)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,10 +1,16 @@
|
||||
-- authors: Luxinia Dev (Eike Decker & Christoph Kubisch)
|
||||
---------------------------------------------------------
|
||||
|
||||
local clccbinpath = os.getenv("CLCC_BIN_PATH")
|
||||
local binpath = ide.config.path.clccbin or os.getenv("CLCC_BIN_PATH")
|
||||
|
||||
return clccbinpath and {
|
||||
return binpath and {
|
||||
fninit = function(frame,menuBar)
|
||||
|
||||
if (wx.wxFileName(binpath):IsRelative()) then
|
||||
local editorDir = string.gsub(ide.editorFilename:gsub("[^/\\]+$",""),"\\","/")
|
||||
binpath = editorDir..binpath
|
||||
end
|
||||
|
||||
local myMenu = wx.wxMenu{
|
||||
{ ID "cl.allplatforms", "&All", "Compiled with all available platforms (otherwise only first)", wx.wxITEM_CHECK },
|
||||
{ ID "cl.output", "&Output", "Generates output files", wx.wxITEM_CHECK },
|
||||
@@ -50,7 +56,7 @@ return clccbinpath and {
|
||||
cmdline = cmdline..(data.output and "--output " or "")
|
||||
cmdline = cmdline..'"'..fullname..'"'
|
||||
|
||||
cmdline = clccbinpath.."/clcc.exe"..cmdline
|
||||
cmdline = binpath.."/clcc.exe"..cmdline
|
||||
|
||||
-- run compiler process
|
||||
CommandLineRun(cmdline,nil,true,nil,nil)
|
||||
|
||||
36
tools/dx.lua
36
tools/dx.lua
@@ -1,12 +1,17 @@
|
||||
-- authors: Luxinia Dev (Eike Decker & Christoph Kubisch)
|
||||
---------------------------------------------------------
|
||||
|
||||
local dxpath = os.getenv("DXSDK_DIR")
|
||||
local binpath = ide.config.path.fxcbin or (os.getenv("DXSDK_DIR") and os.getenv("DXSDK_DIR").."/Utilities/bin/x86/")
|
||||
local dxprofile
|
||||
|
||||
return dxpath and {
|
||||
return binpath and {
|
||||
fninit = function(frame,menuBar)
|
||||
dxprofile = ide.config.dxprofile or "dx_5"
|
||||
|
||||
if (wx.wxFileName(binpath):IsRelative()) then
|
||||
local editorDir = string.gsub(ide.editorFilename:gsub("[^/\\]+$",""),"\\","/")
|
||||
binpath = editorDir..binpath
|
||||
end
|
||||
|
||||
local myMenu = wx.wxMenu{
|
||||
{ ID "dx.profile.dx_2x", "DX SM&2_x", "DirectX sm2_x profile", wx.wxITEM_CHECK },
|
||||
@@ -25,6 +30,7 @@ return dxpath and {
|
||||
{ ID "dx.compile.domain", "Compile &Domain", "Compile Domain shader (select entry word)" },
|
||||
{ ID "dx.compile.hull", "Compile &Hull", "Compile Hull shader (select entry word)" },
|
||||
{ ID "dx.compile.compute", "Compile &Compute", "Compile Compute shader (select entry word)" },
|
||||
{ ID "dx.compile.effects", "Compile &Effects", "Compile all effects in shader" },
|
||||
}
|
||||
menuBar:Append(myMenu, "&Dx")
|
||||
|
||||
@@ -42,12 +48,13 @@ return dxpath and {
|
||||
[ID "dx.compile.domain"] = 4,
|
||||
[ID "dx.compile.hull"] = 5,
|
||||
[ID "dx.compile.compute"] = 6,
|
||||
[ID "dx.compile.effects"] = 7,
|
||||
}
|
||||
data.profiles = {
|
||||
[ID "dx.profile.dx_2x"] = {"vs_2_0","ps_2_x",false,false,false,false,ext=".fxc."},
|
||||
[ID "dx.profile.dx_3"] = {"vs_3_0","ps_3_0",false,false,false,false,ext=".fxc."},
|
||||
[ID "dx.profile.dx_4"] = {"vs_4_0","ps_4_0","gs_4_0",false,false,false,ext=".fxc."},
|
||||
[ID "dx.profile.dx_5"] = {"vs_5_0","ps_5_0","gs_5_0","ds_5_0","hs_5_0","cs_5_0",ext=".fxc."},
|
||||
[ID "dx.profile.dx_2x"] = {"vs_2_0","ps_2_x",false,false,false,false,"fx_2_x",ext=".fxc."},
|
||||
[ID "dx.profile.dx_3"] = {"vs_3_0","ps_3_0",false,false,false,false,"fx_3_0",ext=".fxc."},
|
||||
[ID "dx.profile.dx_4"] = {"vs_4_0","ps_4_0","gs_4_0",false,false,false,"fx_4_0",ext=".fxc."},
|
||||
[ID "dx.profile.dx_5"] = {"vs_5_0","ps_5_0","gs_5_0","ds_5_0","hs_5_0","cs_5_0","fx_5_0",ext=".fxc."},
|
||||
}
|
||||
data.domaindefs = {
|
||||
" /D _VERTEX_=1 /D _DX_=1 ",
|
||||
@@ -56,6 +63,7 @@ return dxpath and {
|
||||
" /D _TESS_CONTROL_=1 /D _DX_=1 ",
|
||||
" /D _TESS_EVAL_=1 /D _DX_=1 ",
|
||||
" /D _COMPUTE_=1 /D _DX_=1 ",
|
||||
" /D _EFFECTS_=1 /D _DX_=1 ",
|
||||
}
|
||||
-- Profile related
|
||||
menuBar:Check(data.profid, true)
|
||||
@@ -98,13 +106,14 @@ return dxpath and {
|
||||
local function evCompile(event)
|
||||
local filename,info = GetEditorFileAndCurInfo()
|
||||
local editor = GetEditor()
|
||||
local domain = data.domains[event:GetId()]
|
||||
|
||||
if (not (filename and info.selword and dxpath)) then
|
||||
DisplayOutput("Error: Dx Compile: Insufficient parameters (nofile / not selected entry function!\n")
|
||||
if (not (filename and binpath) or not (domain == 7 or info.selword )) then
|
||||
DisplayOutput("Error: Dx Compile: Insufficient parameters (nofile / no selected entry function!\n")
|
||||
return
|
||||
end
|
||||
|
||||
local domain = data.domains[event:GetId()]
|
||||
|
||||
local profile = data.profiles[data.profid]
|
||||
if (not profile[domain]) then return end
|
||||
|
||||
@@ -114,9 +123,9 @@ return dxpath and {
|
||||
|
||||
local fullname = filename:GetFullPath()
|
||||
|
||||
local outname = fullname.."."..info.selword.."^"
|
||||
local outname = fullname.."."..(info.selword or "").."^"
|
||||
outname = args and outname..args:gsub("%s*[%-%/]",";-")..";^" or outname
|
||||
outname = outname..profile[domain]..profile.ext..(data.binary and "bin" or "txt")
|
||||
outname = outname..profile[domain]..profile.ext..(data.binary and "fxo" or "txt")
|
||||
outname = '"'..outname..'"'
|
||||
|
||||
local cmdline = " /T "..profile[domain].." "
|
||||
@@ -125,11 +134,13 @@ return dxpath and {
|
||||
cmdline = cmdline..(data.backwards and "/Gec " or "")
|
||||
cmdline = cmdline..(data.domaindefs[domain])
|
||||
cmdline = cmdline..(data.binary and "/Fo " or "/Fc ")..outname.." "
|
||||
if (info.selword) then
|
||||
cmdline = cmdline.."/E "..info.selword.." "
|
||||
end
|
||||
cmdline = cmdline.."/nologo "
|
||||
cmdline = cmdline..' "'..fullname..'"'
|
||||
|
||||
cmdline = dxpath.."/Utilities/bin/x86/fxc.exe"..cmdline
|
||||
cmdline = binpath.."/fxc.exe"..cmdline
|
||||
|
||||
-- run compiler process
|
||||
CommandLineRun(cmdline,nil,true,nil,nil)
|
||||
@@ -141,5 +152,6 @@ return dxpath and {
|
||||
frame:Connect(ID "dx.compile.domain",wx.wxEVT_COMMAND_MENU_SELECTED,evCompile)
|
||||
frame:Connect(ID "dx.compile.hull",wx.wxEVT_COMMAND_MENU_SELECTED,evCompile)
|
||||
frame:Connect(ID "dx.compile.compute",wx.wxEVT_COMMAND_MENU_SELECTED,evCompile)
|
||||
frame:Connect(ID "dx.compile.effects",wx.wxEVT_COMMAND_MENU_SELECTED,evCompile)
|
||||
end,
|
||||
}
|
||||
|
||||
@@ -1,11 +1,15 @@
|
||||
-- authors: Luxinia Dev (Eike Decker & Christoph Kubisch)
|
||||
---------------------------------------------------------
|
||||
|
||||
local binpath = os.getenv("GLSLC_BIN_PATH")
|
||||
local binpath = ide.config.path.glslcbin or os.getenv("GLSLC_BIN_PATH")
|
||||
|
||||
return binpath and {
|
||||
fninit = function(frame,menuBar)
|
||||
binpath = ide.config.path.glslcbin or os.getenv("GLSLC_BIN_PATH")
|
||||
|
||||
if (wx.wxFileName(binpath):IsRelative()) then
|
||||
local editorDir = string.gsub(ide.editorFilename:gsub("[^/\\]+$",""),"\\","/")
|
||||
binpath = editorDir..binpath
|
||||
end
|
||||
|
||||
local myMenu = wx.wxMenu{
|
||||
{ ID "glslc.compile.input", "&Custom Args", "when set a popup for custom compiler args will be envoked", wx.wxITEM_CHECK },
|
||||
@@ -314,6 +318,7 @@ return binpath and {
|
||||
|
||||
local cmdline = "-profile "..profile.." "
|
||||
cmdline = args and cmdline..args.." " or cmdline
|
||||
cmdline = cmdline.."-I*.glsl -I*.h "
|
||||
cmdline = cmdline..(data.separable and "-separable " or "")
|
||||
cmdline = cmdline..data.domaindefs[domain].." "
|
||||
cmdline = cmdline.."-o "..outname.." "
|
||||
@@ -336,9 +341,11 @@ return binpath and {
|
||||
|
||||
return str,postfunc
|
||||
end
|
||||
|
||||
local wdir = filename:GetPath()
|
||||
|
||||
-- run compiler process
|
||||
CommandLineRun(cmdline,nil,true,nil,compilecallback)
|
||||
CommandLineRun(cmdline,wdir,true,nil,compilecallback)
|
||||
|
||||
end
|
||||
|
||||
|
||||
@@ -6,5 +6,5 @@ else
|
||||
if [[ "$(uname -m)" == "x86_64" ]]; then ARCH="x64"; else ARCH="x86"; fi
|
||||
# Special thanks to StackOverflow wiki (http://stackoverflow.com/a/246128)
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
(cd $DIR; bin/linux/$ARCH/lua src/main.lua zbstudio "$@") &
|
||||
(cd "$DIR"; bin/linux/$ARCH/lua src/main.lua zbstudio "$@") &
|
||||
fi
|
||||
|
||||
@@ -23,6 +23,7 @@ lualibs/mobdebug/mobdebug.lua
|
||||
lualibs/ltn12.lua
|
||||
lualibs/luadist.lua
|
||||
lualibs/mime.lua
|
||||
lualibs/sha2.lua
|
||||
lualibs/socket.lua
|
||||
lualibs/socket/*.lua
|
||||
lualibs/ssl.lua
|
||||
|
||||
@@ -7,7 +7,6 @@ bin/clibs52/socket/core.dylib
|
||||
bin/libwx.dylib
|
||||
bin/liblua.dylib
|
||||
bin/liblua52.dylib
|
||||
bin/libluadef.dylib
|
||||
bin/lua
|
||||
bin/lua.app/Contents/Info.plist
|
||||
bin/lua.app/Contents/MacOS/lua
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
ZBS_PATH=${0%/*/*}
|
||||
if [ ! -d $ZBS_PATH ]; then ZBS_PATH=${PWD%/*}; fi
|
||||
export DYLD_LIBRARY_PATH="$ZBS_PATH/ZeroBraneStudio/bin"
|
||||
export DYLD_FORCE_FLAT_NAMESPACE=1
|
||||
if [[ ! -e $DYLD_LIBRARY_PATH/libedit.3.dylib && ! -e /usr/lib/libedit.3.dylib ]]
|
||||
then ln -s /usr/lib/libedit.2.dylib $DYLD_LIBRARY_PATH/libedit.3.dylib; fi
|
||||
(cd "$ZBS_PATH/ZeroBraneStudio"; bin/lua src/main.lua zbstudio "$@")
|
||||
|
||||
@@ -28,7 +28,7 @@ end
|
||||
|
||||
filehistorylength = 20
|
||||
|
||||
singleinstance = true
|
||||
singleinstance = G.ide.osname ~= 'Macintosh'
|
||||
singleinstanceport = 0xe493
|
||||
|
||||
acandtip.shorttip = true
|
||||
|
||||
Reference in New Issue
Block a user