Order files
This commit is contained in:
332
android/tools/zbstudio.app/Contents/ZeroBraneStudio/src/defs.lua
Normal file
332
android/tools/zbstudio.app/Contents/ZeroBraneStudio/src/defs.lua
Normal file
@@ -0,0 +1,332 @@
|
||||
-- About
|
||||
-- ----------------------------------------------------
|
||||
-- This file contains lua table definitons used by
|
||||
-- automatic loaded files, not part of the
|
||||
-- editor source.
|
||||
--
|
||||
-- /<app>/config.lua
|
||||
-- /cfg/user.lua
|
||||
-- /interpreters/*.lua
|
||||
-- /specs/*.lua
|
||||
-- /tools/*.lua
|
||||
-- /api/<apitype>/*.lua
|
||||
|
||||
-- style definition
|
||||
-- ----------------------------------------------------
|
||||
-- all entries are optional
|
||||
stattr = {
|
||||
fg = {r,g,b}, -- foreground color 0-255
|
||||
bg = {r,g,b}, -- background color
|
||||
i = false, -- italic
|
||||
b = false, -- bold
|
||||
u = false, -- underline
|
||||
fill = true, -- fill to lineend
|
||||
-- fn = "Lucida Console", -- font Face Name
|
||||
-- fx = 11, -- font size
|
||||
-- hs = true or {r,g,b}, -- turn hotspot on
|
||||
-- use the specified color as activeForeground
|
||||
-- use "hs = true", to turn it on without changing the color
|
||||
-- HotspotActiveUnderline and HotspotSingleLine are on automatically
|
||||
-- v = true, -- visibility for symbols of the current style
|
||||
}
|
||||
|
||||
style = {
|
||||
-- lexer specific (inherit fg/bg from text)
|
||||
lexerdef = stattr,
|
||||
comment = stattr,
|
||||
stringtxt = stattr,
|
||||
stringeol = stattr,
|
||||
preprocessor = stattr,
|
||||
operator = stattr,
|
||||
number = stattr,
|
||||
|
||||
keywords0 = stattr,
|
||||
keywords1 = stattr,
|
||||
keywords2 = stattr,
|
||||
keywords3 = stattr,
|
||||
keywords4 = stattr,
|
||||
keywords5 = stattr,
|
||||
keywords6 = stattr,
|
||||
keywords7 = stattr,
|
||||
|
||||
-- common (inherit fg/bg from text)
|
||||
text = stattr,
|
||||
linenumber = stattr,
|
||||
bracematch = stattr,
|
||||
bracemiss = stattr,
|
||||
ctrlchar = stattr,
|
||||
indent = stattr,
|
||||
calltip = stattr,
|
||||
|
||||
-- common special (need custom fg & bg )
|
||||
sel = nil,
|
||||
caret = nil,
|
||||
caretlinebg = nil,
|
||||
fold = nil,
|
||||
whitespace = nil,
|
||||
}
|
||||
|
||||
-- config definition
|
||||
-- ----------------------------------------------------
|
||||
-- tables must exist
|
||||
-- content is optional
|
||||
-- config is loaded into existing config table
|
||||
config = {
|
||||
path = { -- path for tools/interpreters
|
||||
lua = "C:/lua/lua.exe", -- path to lua exe
|
||||
},
|
||||
editor = {
|
||||
fontname = "Courier New", -- default font
|
||||
fontsize = 10, -- default size
|
||||
caretline = true, -- show active line
|
||||
iofilter = nil, -- input/output filtering of strings
|
||||
showfncall = true, -- use indicator to show function calls if spec allows
|
||||
tabwidth = 4,
|
||||
usetabs = true, -- if false then spaces are used
|
||||
usewrap = true, -- if true then the text is wrapped in the editor
|
||||
whitespace = false,
|
||||
autotabs = true, -- if true test for tabs after file load,
|
||||
-- sets "usetabs" to true for this file
|
||||
calltipdelay = nil, -- delay to show calltip (in ms)
|
||||
autoactivate = false, -- auto-activate/open files during debugging
|
||||
smartindent = false, -- use smart indentation if spec allows
|
||||
fold = true, -- enable code folding
|
||||
foldcompact = true, -- use compact fold that includes empty lines
|
||||
checkeol = true, -- check for eol encoding on loaded files and use it
|
||||
-- also report mixed eol encodings
|
||||
defaulteol = nil, -- default line-endings for new files; valid values are
|
||||
-- wxstc.wxSTC_EOL_CRLF, wxstc.wxSTC_EOL_LF and nil (OS default)
|
||||
nomousezoom = nil, -- disable zooming using mouse wheel
|
||||
autoreload = nil, -- trigger auto-reload when file is updated
|
||||
saveallonrun = nil, -- save all modified files before Run/Debug
|
||||
indentguide = true, -- show indentation guides
|
||||
backspaceunindent = true, -- unindent when backspace is used
|
||||
},
|
||||
|
||||
default = {
|
||||
name = 'untitled',
|
||||
fullname = 'untitled.lua',
|
||||
interpreter = 'luadeb',
|
||||
},
|
||||
|
||||
debugger = {
|
||||
verbose = false,
|
||||
hostname = nil, -- hostname to use when the detected one is incorrect
|
||||
port = nil, -- port number to use
|
||||
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
|
||||
},
|
||||
|
||||
format = { -- various formatting strings
|
||||
menurecentprojects = nil,
|
||||
},
|
||||
|
||||
keymap = {}, -- mapping of menu IDs to hot keys
|
||||
messages = {}, -- list of messages in a particular language
|
||||
language = "en", -- current UI language
|
||||
|
||||
styles = {}, -- styles table as above for editor
|
||||
stylesoutshell = {}, -- styles for output/shell
|
||||
|
||||
interpreter = "luadeb", -- the default "project" lua interpreter
|
||||
|
||||
autocomplete = true, -- whether autocomplete is on by default
|
||||
autoanalyzer = true, -- whether auto syntax analyzer is on by default
|
||||
|
||||
acandtip = {
|
||||
shorttip = false, -- tooltips are compact during typing
|
||||
nodynwords = false, -- no dynamic words (user entered words)
|
||||
ignorecase = false, -- ignores case when performing comparison with autocomplete list
|
||||
symbols = true, -- include local/global symbols
|
||||
startat = 2, -- start suggesting dynamic words after 2 characters
|
||||
strategy = 2,
|
||||
-- 0: is string comparison
|
||||
-- 1: substring leading characters (camel case or _ separated)
|
||||
-- 2: leading + any correctly ordered fragments (default)
|
||||
width = 60, -- width of the tooltip text (in characters)
|
||||
maxlength = 450, -- max length of the tooltip on the screen
|
||||
},
|
||||
|
||||
arg = {}, -- command line arguments
|
||||
|
||||
savebak = false, -- if bak files are created on save
|
||||
|
||||
filehistorylength = 20, -- historylength for files
|
||||
|
||||
projecthistorylength = 15, -- historylength for project directories
|
||||
|
||||
singleinstance = true, -- if true creates a UDP server to run IDE once and to load files
|
||||
singleinstanceport = 0xe493, -- UDP port for single instance communication
|
||||
|
||||
activateoutput = false, -- activate output/console on Run/Debug/Compile
|
||||
unhidewindow = false, -- to unhide a gui window
|
||||
projectautoopen = false, -- allow auto open/close files on a project switch
|
||||
autorecoverinactivity = nil, -- period of inactivity (s) for autorecover
|
||||
hidpi = false, -- HiDPI/Retina display support
|
||||
}
|
||||
|
||||
-- application engine
|
||||
-- ----------------------------------------------------
|
||||
|
||||
app = {
|
||||
preinit = function() end, -- post spec/tool loading, but prior subsystems/ui generation
|
||||
postinit = function() end, -- post init, prior starting mainloop
|
||||
loadfilters = {
|
||||
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,
|
||||
-- ...
|
||||
}
|
||||
}
|
||||
|
||||
-- api definition
|
||||
-- ----------------------------------------------------
|
||||
-- hierarchy encoded into children
|
||||
|
||||
api = {
|
||||
-- global space words, e.g "table"
|
||||
["blah"] = {
|
||||
-- "function", "class", "keyword", "value", "lib", "method"
|
||||
-- method is for class:func functions
|
||||
type = "function",
|
||||
description = "this does something",
|
||||
|
||||
-- value/function/method:
|
||||
-- for autocomplete type guessing, insert the string
|
||||
-- that the variable name is replace with
|
||||
-- e.g. "test = somefunc()" somefunc has valuetype of "math"
|
||||
-- then typing "test." will be treated as "math." in
|
||||
-- autcomplete logic
|
||||
valuetype = "api.ClassName",
|
||||
|
||||
-- function:
|
||||
args = "(blah,blubb)",
|
||||
returns = "(foo)",
|
||||
|
||||
-- autogenerated post load:
|
||||
-- concated hierarchy name (e.g. "lib.class")
|
||||
classname = "blah",
|
||||
|
||||
-- children in the class hierarchy
|
||||
childs = {
|
||||
--.. recursive
|
||||
}
|
||||
},
|
||||
["blubb"] = {
|
||||
--...
|
||||
},
|
||||
}
|
||||
|
||||
-- spec definition
|
||||
-- ----------------------------------------------------
|
||||
-- all entries are optional
|
||||
spec = {
|
||||
exts = {"ext","ext2",},
|
||||
-- compatible extensions
|
||||
|
||||
lexer = wxstc.wxSTC_LEX_LUA,
|
||||
-- scintilla lexer
|
||||
|
||||
lexerstyleconvert = {
|
||||
-- table mapping each styles to
|
||||
-- appropriate lexer id
|
||||
stringeol = {wxstc.wxSTC_LUA_STRINGEOL,},
|
||||
-- ...
|
||||
},
|
||||
|
||||
linecomment = "//",
|
||||
-- string for linecomments
|
||||
|
||||
sep = "%.:",
|
||||
-- class.function separator match string,
|
||||
-- e.g in lua both . and : are allowed
|
||||
-- default is "\1" which should yield no matches
|
||||
-- and therefore disable class.func type autocompletion
|
||||
|
||||
isfncall = function(str) return from,to end,
|
||||
-- function that detects positions for a substring that
|
||||
-- stands for a functioncall, ie " call(..)" -> 2,5
|
||||
|
||||
apitype = "api",
|
||||
-- which sub directory of "api" is relevant
|
||||
-- api files handle autocomplete and tooltips
|
||||
-- api won't affect syntax coloring
|
||||
|
||||
keywords = {
|
||||
-- up to 8 strings containing space separated keywords
|
||||
-- used by the lexer for coloring (NOT for autocomplete).
|
||||
-- however each lexer supports varying amount
|
||||
-- of keyword types
|
||||
|
||||
"foo bar word",
|
||||
"more words",
|
||||
}
|
||||
}
|
||||
|
||||
-- tool definition
|
||||
-- ----------------------------------------------------
|
||||
-- main entries are optional
|
||||
tool = {
|
||||
fninit = function(frame,menubar) end,
|
||||
-- guarantees that ide is initialized
|
||||
-- can be used for init
|
||||
-- and adding custom menu
|
||||
|
||||
exec = {
|
||||
-- quick exec action, listed under "Tools" menu
|
||||
name = "",
|
||||
description = "",
|
||||
fn = function(wxfilename,projectdir) end,
|
||||
}
|
||||
}
|
||||
|
||||
-- debuginterface definition
|
||||
-- ----------------------------------------------------
|
||||
debuginterface = {
|
||||
update = function(self) end, -- run in idle when active
|
||||
close = function(self) end, -- run when closed
|
||||
|
||||
-- following are "debugging" actions and must return
|
||||
-- error, running, [filePath, fileLine]
|
||||
run = function(self) end,
|
||||
step = function(self) end,
|
||||
over = function(self) end,
|
||||
out = function(self) end,
|
||||
terminate = function(self) end,
|
||||
breaknow = function(self) end,
|
||||
breakpoint = function(self,file,line,state) end, -- set breakpoint state
|
||||
|
||||
-- returns result table if successful
|
||||
evaluate = function(self, expressions, fnSetValues) end, -- for watches tables
|
||||
stack = function(self) end, -- get stack information
|
||||
}
|
||||
|
||||
-- interpreter definition-- ----------------------------------------------------
|
||||
interpreter = {
|
||||
name = "",
|
||||
description = "",
|
||||
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)
|
||||
hasdebugger = false, -- if debugging is available
|
||||
scratchextloop = nil, -- (opt) indicates scratchpad support
|
||||
-- nil, no support for scratchpad;
|
||||
-- false, scratchpad supported;
|
||||
-- true, scratchpad supported and requires handling for external loop.
|
||||
skipcompile = nil, -- don't compile before running if true
|
||||
}
|
Reference in New Issue
Block a user