There are no reviews yet. Be the first to send feedback to the community and the maintainers!
Tcl/Tk Go bindings. VERSION NOTICE Recently Tcl/Tk 8.6 were released. I use them as a default, if you still have Tcl/Tk 8.5 use `go get -tags tcl85 github.com/nsf/gothic`. DESCRIPTION In its current state the bindings are a bit Tk-oriented. You can't create an interpreter instance without Tk. In future it's likely it will be changed. The API is very simple. In the package you have one type and one function: type Interpreter struct func NewInterpreter (init interface{}) *Interpreter In order to launch an interpreter you have to call the "NewInterpreter" function, it will make a new instance of a tcl/tk interpreter in a separate goroutine, execute "init", block in Tk's main loop and then the function returns a pointer to the new instance of an "Interpreter". "init" could be a string with tcl commands that are executed before Tk's main loop, or a function with this signature: "func (*Interpreter)". This function gets executed the same way as the string, that is - before Tk's main loop. Here are the methods of the "Interpreter": func (*Interpreter) ErrorFilter(filt func(error) error) func (*Interpreter) Eval(args ...interface{}) error func (*Interpreter) EvalAs(out interface{}, args ...interface{}) error func (*Interpreter) Set(name string, val interface{}) error func (*Interpreter) UploadImage(name string, img image.Image) error func (*Interpreter) RegisterCommand(name string, cbfunc interface{}) error func (*Interpreter) UnregisterCommand(name string) error func (*Interpreter) RegisterCommands(name string, val interface{}) error func (*Interpreter) UnregisterCommands(name string) error As it was stated before, the "Interpreter" is being executed in a separate goroutine and each method is completely thread-safe. Also every method is synchronous. It will queue commands for execution and wait for their completion. That's it. See "examples" directory it has the use cases for most of the API.
gocode
An autocompletion daemon for the Go programming languagetermbox-go
Pure Go termbox implementationtermbox
Library for writing text-based user interfacesgodit
A very religious text editorjsondiff
JsonDiff librarygollvm
LLVM bindings for the Go programming languagegotris
A classic tetris game written in Go programming languagepnoise
Perlin noise benchmarkobkey
ObKey - Openbox Key Editorsseculling
SSE Frustum Culling Demomc
A very simple marching cubes example.golemon
Port of the lemon parser generator to the Go programming languagegogobject
GObject-introspection based bindings generatorkrawl
Krawl programming language compilergocovgui
A simple GUI wrapper for the gocov coverage analysis toolbmpanel2
bmpanel version 2bin2go
Binary to Go source file converterccode
An autocompletion daemon for the C programming language (vim, libclang, omnifunc)imgui-rust
Alternative (personal) imgui rust bindingssexp
S-expressions parser in the Go programming languagenextgame
Work-in-progress "voxel" game or game engine.bmpanel
bmpanel - lightweight, netwm compliant, x11 panel with desktop switcher, taskbar, systray and clocktulib
Termbox Utilities Librarylibtorgo
BitTorrent Go librarygortfm
Documentation generator for the Go programming languageemacskeys
QtCreator plugin targeting emacs usersgomandel
Go mandelbrot demo programsqlrace
SQL Race condition demotorgo
BitTorrent client and a tool written in Goancient
A toy compiled programming languageinterlua
C++11/Lua bindings generatorvulkangen
Vulkan C++ wrapper generatorvrmp
VR media player for linuxlib99
libzbs
Experimental C++11 cross-platform software utility libraryshebang
Shebang scripting languagechangedir
utility that helps you maintain visited directories historytbclock
tty-clock clone based on termboxsqlbatch
WIPcppmandel
Multihreaded mandelbrot set renderer using experimental C++ coroutines.shell-util
Shell scripting helper functions for denosx
Sx file formatgoal
Go makefile templates systemGodotSlerpTest
Just a test casejsondiff-demo
github.com/nsf/jsondiff demodepsinfo
analyze dependencies and libraries of a deno scriptpacketer
Channel <-> network connection adapter libraryLove Open Source and this site? Check out how you can help us