171 lines
7.5 KiB
Lua
171 lines
7.5 KiB
Lua
--[[-- This file shows examples of settings you can adjust.
|
|
|
|
Configuration files with preferences are loaded in the following order:
|
|
1. cfg/user.lua (system-wide configuration)
|
|
2. HOME/.zbstudio/user.lua (per-user configuration)
|
|
3. -cfg <lua code fragment|filename> (command line configuration)
|
|
|
|
See [configuration](http://studio.zerobrane.com/doc-configuration.html) page for information about location of configuration files.
|
|
|
|
--]]--
|
|
|
|
-- to modify loaded configuration for recognized extensions for lua files
|
|
-- (no longer needed in v1.21+) local G = ... -- this now points to the global environment
|
|
local luaspec = ide.specs.lua
|
|
luaspec.exts[#luaspec.exts+1] = "luaz"
|
|
luaspec.keywords[1] = luaspec.keywords[1] .. ' foo'
|
|
|
|
-- to modify a key mapping; see the full list of IDs in src/editor/keymap.lua
|
|
-- starting from v0.95, ID.<menuid> can be used instead of G.ID_<menuid>
|
|
keymap[ID.STARTDEBUG] = "Ctrl-Shift-D"
|
|
|
|
-- to change font size to 12
|
|
editor.fontsize = 12 -- this is mapped to ide.config.editor.fontsize
|
|
editor.fontname = "Courier New"
|
|
filehistorylength = 20 -- this is mapped to ide.config.filehistorylength
|
|
|
|
-- to specify full path to love2d *executable*; this is only needed
|
|
-- if the game folder and the executable are NOT in the same folder.
|
|
path.love2d = 'd:/lua/love/love'
|
|
|
|
-- to specify full path to moai *executable* if it's not in one of PATH folders
|
|
path.moai = 'd:/lua/moai/moai'
|
|
-- Moai config.lua file is searched in the following places: (1) MOAI_CONFIG,
|
|
-- (2) project directory (if set) or folder with the current file,
|
|
-- (3) folder with the moai executable.
|
|
|
|
-- to specify full path to gideros *executable* if it's not in one of PATH folders
|
|
path.gideros = 'd:/Program Files/Gideros/GiderosPlayer.exe'
|
|
|
|
-- to specify full path to corona *executable* if it's not in one of PATH folders
|
|
path.corona = 'd:/path/to/Corona SDK/Corona Simulator.exe'
|
|
|
|
-- to specify full path to lua interpreter if you need to use your own version
|
|
path.lua = 'd:/lua/lua'
|
|
|
|
-- to specify full path to GSL-shell *executable* if it's not in one of PATH folders
|
|
path.gslshell = [[D:\Lua\gsl-shell\gsl-shell.exe]]
|
|
|
|
-- to provide output filter for those engines that support redirecting
|
|
-- of "print" output to the IDE (like Corona SDK or Gideros)
|
|
debugger.outputfilter = function(m) return #m < 124 and m or m:sub(1,120).."...\n" end
|
|
|
|
-- to fix an issue with 0d0d0a line endings in MOAI examples,
|
|
-- which may negatively affect breakpoints during debugging
|
|
editor.iofilter = "0d0d0aFix"
|
|
|
|
-- to have 4 spaces when TAB is used in the editor
|
|
editor.tabwidth = 4
|
|
|
|
-- to have TABs stored in the file (to allow mixing tabs and spaces)
|
|
editor.usetabs = true
|
|
|
|
-- to disable wrapping of long lines in the editor
|
|
editor.usewrap = false
|
|
|
|
-- to turn dynamic words on and to start suggestions after 4 characters
|
|
acandtip.nodynwords = false
|
|
acandtip.startat = 4
|
|
|
|
-- to automatically open files requested during debugging
|
|
editor.autoactivate = true
|
|
|
|
-- to specify a list of MOAI entrypoints
|
|
moai = { entrypoints = { "main.lua", "source/main.lua" } }
|
|
|
|
-- to specify language to use in the IDE (requires a file in cfg/i18n folder)
|
|
language = "ru"
|
|
|
|
-- to change background color (or other colors in the IDE);
|
|
-- see cfg/tomorrow.lua for example/details on what other colors to change
|
|
styles.text = {bg = {240,240,220}}
|
|
|
|
-- to change the default color scheme; check tomorrow.lua for the list
|
|
-- of supported schemes or use cfg/scheme-picker.lua to pick a scheme.
|
|
-- (no longer needed in v1.21+) local G = ... -- this now points to the global environment
|
|
styles = loadfile('cfg/tomorrow.lua')('Tomorrow')
|
|
-- also apply the same scheme to Output and Console windows
|
|
stylesoutshell = styles
|
|
|
|
-- to change markers used in console and output windows
|
|
styles.marker = styles.marker or {}
|
|
styles.marker.message = {ch = wxstc.wxSTC_MARK_ARROWS, fg = {0, 0, 0}, bg = {240, 240, 240}}
|
|
styles.marker.output = {ch = wxstc.wxSTC_MARK_BACKGROUND, fg = {0, 0, 0}, bg = {240, 240, 240}}
|
|
styles.marker.prompt = {ch = wxstc.wxSTC_MARK_CHARACTER+('>'):byte(), fg = {0, 0, 0}, bg = {240, 240, 240}}
|
|
stylesoutshell = styles
|
|
|
|
-- to disable indicators (underlining) on function calls
|
|
-- styles.indicator.fncall = nil
|
|
|
|
-- to change the color of the indicator used for function calls
|
|
styles.indicator.fncall.fg = {240,0,0}
|
|
|
|
-- to change the type of the indicator used for function calls
|
|
styles.indicator.fncall.st = wxstc.wxSTC_INDIC_PLAIN
|
|
--[[ other possible values are:
|
|
wxSTC_INDIC_DOTS Dotted underline; wxSTC_INDIC_PLAIN Single-line underline
|
|
wxSTC_INDIC_TT Line of Tshapes; wxSTC_INDIC_SQUIGGLE Squiggly underline
|
|
wxSTC_INDIC_STRIKE Strike-out; wxSTC_INDIC_SQUIGGLELOW Squiggly underline (2 pixels)
|
|
wxSTC_INDIC_BOX Box; wxSTC_INDIC_ROUNDBOX Rounded Box
|
|
wxSTC_INDIC_DASH Dashed underline; wxSTC_INDIC_STRAIGHTBOX Box with trasparency
|
|
wxSTC_INDIC_DOTBOX Dotted rectangle; wxSTC_INDIC_DIAGONAL Diagonal hatching
|
|
wxSTC_INDIC_HIDDEN No visual effect;
|
|
--]]
|
|
|
|
-- to enable additional spec files (like spec/glsl.lua)
|
|
load.specs(function(file) return file:find('spec[/\\]glsl%.lua$') end)
|
|
|
|
-- to specify a default EOL encoding to be used for new files:
|
|
-- `wxstc.wxSTC_EOL_CRLF` or `wxstc.wxSTC_EOL_LF`;
|
|
-- `nil` means OS default: CRLF on Windows and LF on Linux/Unix and OSX.
|
|
-- (OSX had CRLF as a default until v0.36, which fixed it).
|
|
editor.defaulteol = wxstc.wxSTC_EOL_LF
|
|
|
|
-- to turn off checking for mixed end-of-line encodings in loaded files
|
|
editor.checkeol = false
|
|
|
|
-- to force execution to continue immediately after starting debugging;
|
|
-- set to `false` to disable (the interpreter will stop on the first line or
|
|
-- when debugging starts); some interpreters may use `true` or `false`
|
|
-- by default, but can be still reconfigured with this setting.
|
|
debugger.runonstart = true
|
|
|
|
-- to set compact fold that doesn't include empty lines after a block
|
|
editor.foldcompact = true
|
|
|
|
-- to disable zoom with mouse wheel as it may be too sensitive on OSX
|
|
editor.nomousezoom = true
|
|
|
|
-- to specify a skin for Corona simulator (OSX only);
|
|
-- you can also change it between runs from Local Console by executing
|
|
-- `ide.config.corona = {skin = 'iPad'}`
|
|
corona = { skin = "iPad" }
|
|
|
|
-- to style individual keywords; `return` and `break` are shown in red
|
|
-- (no longer needed in v1.21+) local G = ... -- this now points to the global environment
|
|
local luaspec = ide.specs.lua
|
|
|
|
local num = #luaspec.keywords
|
|
-- take a new slot in the list of keywords (starting from 1)
|
|
luaspec.keywords[num+1] = 'return break'
|
|
-- remove 'return' from the list of "regular" keywords
|
|
luaspec.keywords[1] = luaspec.keywords[1]:gsub(' return', ''):gsub(' break', '')
|
|
|
|
-- assign new style to the added slot (starting from 0)
|
|
styles["keywords"..num] = {fg = {240, 0, 0}, b = true}
|
|
|
|
-- enable `Opt+Shift+Left/Right` shortcut on OSX
|
|
editor.keymap[#editor.keymap+1] = {wxstc.wxSTC_KEY_LEFT, wxstc.wxSTC_SCMOD_ALT+wxstc.wxSTC_SCMOD_SHIFT, wxstc.wxSTC_CMD_WORDLEFTEXTEND, "Macintosh"}
|
|
editor.keymap[#editor.keymap+1] = {wxstc.wxSTC_KEY_RIGHT, wxstc.wxSTC_SCMOD_ALT+wxstc.wxSTC_SCMOD_SHIFT, wxstc.wxSTC_CMD_WORDRIGHTENDEXTEND, "Macintosh"}
|
|
|
|
-- enable Emacs bindings to use `Ctrl-A` and `Ctrl-E` to go to the line start/end
|
|
editor.keymap[#editor.keymap+1] = {('A'):byte(), wxstc.wxSTC_SCMOD_CTRL, wxstc.wxSTC_CMD_HOME}
|
|
editor.keymap[#editor.keymap+1] = {('E'):byte(), wxstc.wxSTC_SCMOD_CTRL, wxstc.wxSTC_CMD_LINEEND}
|
|
keymap[ID.SELECTALL] = nil -- remove `Ctrl-A` shortcut from `SelectAll`
|
|
|
|
-- updated shortcuts to use them as of v1.20
|
|
keymap[ID.BREAK] = "Shift-F9"
|
|
keymap[ID.BREAKPOINTTOGGLE] = "F9"
|
|
keymap[ID.BREAKPOINTNEXT] = ""
|
|
keymap[ID.BREAKPOINTPREV] = ""
|