Skip to content

Instantly share code, notes, and snippets.

@pkulchenko
pkulchenko / 01-init-canvas.lua
Created April 1, 2012 21:38
A test for running Lua in a browser (http://notebook.kulchenko.com/) #lua #browser #javascript
function initCanvas(w, h)
local canvas = document:createElement("canvas")
canvas.id = "canvas"
canvas.width = w
canvas.height = h
canvas.style.width = canvas.width .. 'px'
canvas.style.height = canvas.height .. 'px'
document:getElementsByTagName('body')[0]:appendChild(canvas)
end
initCanvas(300, 300)
@pkulchenko
pkulchenko / js.lua
Created March 12, 2014 23:49
Simple JavaScript spec file for ZeroBrane Studio (put it in spec/folder)
-- author: Paul Kulchenko
---------------------------------------------------------
local funccall = "([A-Za-z_][A-Za-z0-9_]*)%s*"
return {
exts = {"js", "json"},
lexer = wxstc.wxSTC_LEX_ESCRIPT,
apitype = "js",
linecomment = "//",
@pkulchenko
pkulchenko / urho3d.lua
Created May 8, 2014 03:58
urho3d game engine integration
This file has been truncated, but you can view the full file.
-- Copyright 2011-12 Paul Kulchenko, ZeroBrane LLC
-- Created by Danny Boisvert (derived from love2d.lua)
local urho3d
local win = ide.osname == "Windows"
local mac = ide.osname == "Macintosh"
local interpreter = {
name = "Urho3D",
description = "Urho3D game engine",
@pkulchenko
pkulchenko / autofocusbymouse.lua
Last active August 29, 2015 14:01
Editor auto-focus by mouse
local function focusOnEnterWindow(editor)
editor:Connect(wx.wxEVT_ENTER_WINDOW, function() editor:SetFocus() end)
end
return {
name = "Editor auto-focus by mouse",
description = "Moves focus to an editor tab the mouse is over.",
author = "Paul Kulchenko",
version = 0.1,
onEditorLoad = function(self, editor) focusOnEnterWindow(editor) end,
@pkulchenko
pkulchenko / clippy.lua
Created May 29, 2014 01:29
Clippy package for ZeroBrane Studio
local G = ...
local id = G.ID("clippy.clippy")
local menuid
local stack = {}
local kStackLimit = 10
local function SaveClip()
local tdo = wx.wxTextDataObject("None")
if wx.wxClipboard:Get():Open() then
wx.wxClipboard:Get():GetData(tdo)
@pkulchenko
pkulchenko / debugger.lua
Created August 6, 2014 04:45
Watch window background color fix
-- Copyright 2011-14 Paul Kulchenko, ZeroBrane LLC
-- Original authors: Lomtik Software (J. Winwood & John Labenski)
-- Luxinia Dev (Eike Decker & Christoph Kubisch)
-- Integration with MobDebug
---------------------------------------------------------
local copas = require "copas"
local socket = require "socket"
local mobdebug = require "mobdebug"
local unpack = table.unpack or unpack
@pkulchenko
pkulchenko / highlightselected.lua
Last active October 15, 2021 08:05
Highlight selected plugin for ZeroBrane Studio
-- Copyright 2015 Paul Kulchenko, ZeroBrane LLC; All rights reserved
local updateneeded
local indicator = 12
return {
name = "Highlight selected",
description = "Highlights all instances of a selected word.",
author = "Paul Kulchenko",
version = 0.11,
dependencies = 0.71,
@pkulchenko
pkulchenko / dynword-patch.diff
Created April 5, 2015 03:00
Fix for the dynword auto-complete crash
diff --git a/src/editor/editor.lua b/src/editor/editor.lua
index 09046d3..49ce2a7 100644
--- a/src/editor/editor.lua
+++ b/src/editor/editor.lua
@@ -240,7 +240,9 @@ function EditorAutoComplete(editor)
-- for example, if typing 'foo' in front of 'bar', 'foobar' is not offered
local right = linetx:sub(localpos+1,#linetx):match("^([%a_]+[%w_]*)")
if userList and right then
- userList = userList:gsub("%f[%w_]"..lt..right.."%f[%W]",""):gsub(" +"," ")
+ -- remove all spaces that may be left if "foo" removed from "foo foo"
@pkulchenko
pkulchenko / vararg-patch.diff
Last active August 29, 2015 14:20
Mobdebug patch to enable vararg handling
diff --git a/lualibs/mobdebug/mobdebug.lua b/lualibs/mobdebug/mobdebug.lua
index 89d6be4..618f8fb 100644
--- a/lualibs/mobdebug/mobdebug.lua
+++ b/lualibs/mobdebug/mobdebug.lua
@@ -274,12 +274,22 @@ local function stack(start)
local func = debug.getinfo(f, "f").func
local i = 1
local locals = {}
+ -- get locals
while true do
@pkulchenko
pkulchenko / install.sh
Created May 12, 2015 16:47
ZeroBrane Studio installation script for Linux
#!/bin/bash
INSTALL_PATH=/opt/zbstudio
VERSION=$1
echo Installing ZeroBrane Studio $VERSION...
if [ -d "$INSTALL_PATH" ]; then
if [ -e "$INSTALL_PATH/cfg/user.lua" ]; then