Skip to content

Instantly share code, notes, and snippets.

@subsetpark
subsetpark / vs.md
Last active October 13, 2020 22:31
Installing VS Code / VS Live Share under Linux
  1. Install the normal VS Code binary. I did this using the visual-studio-code-bin package on AUR for Arch Linux.
  2. Access the Extensions pane in the left-hand sidebar.
  3. Search for Live Share in the extensions search. There are a couple extensions associated with Live Share, but the Live Share Extension Pack will include all of them.
  4. There is now a Live Share affordance in the colored status bar at the bottom of the window. Clicking on it will prompt you to sign in and authenticate via OAuth.
  5. NOTE! I wasn't able to get Github auth to work. I had to create a Microsoft account and then do auth via Microsoft.
  6. After going through the OAuth flow, the Live View affordance at the bottom will be replaced by the email you used to auth into Microsoft.
  7. Open the directory you want to collaborate on.
  8. In the menu provided by the Live View affordance, you can copy the invite link for your session to the clipboard.
  9. Send the link to whomever you want to collaborate with.
Hello, Joe!
(defmacro
defclass
`
Define a CLOS-style class.
`
[name parent & attributes]
(def forms @[])
(let [init-args @[]
names-with-defaults (mapcat |[(keyword ($0 0)) (($0 1) :default)]
attributes)]
Janet 1.12.2-5df8ac5 linux/x64 - '(doc)' for help
repl:1:> (import fugue)
nil
repl:2:> (fugue/defproto shape ())
@[@{:_prototype_allocations {} :_object-id shape_000006 :_prototype? true :_object-name :shape :_fields () :new <function new-from-shape>} <function shape?>]
repl:4:> (fugue/defproto square shape (x {:init? true}))
@[<function x> @{:_prototype_allocations {} :_object-id square_00000a :_prototype? true :_object-name :square :_fields (:x) :new <function new-from-square>} <function square?>]
@subsetpark
subsetpark / plugin_opts.lua
Created August 8, 2021 05:25
A working efm language server config for janet/lua
require('lspconfig').efm.setup {
init_options = {
documentFormatting = true,
hover = true,
documentSymbol = true,
codeAction = true, completion = true
},
settings = {
rootMarkers = {".git/"},
languages = {
@subsetpark
subsetpark / interp.c
Last active August 17, 2021 09:58
baby's first Janet C module
#include <janet.h>
// Function to be exported
// Returns a Janet; that's the static value that boxes a dynamic Janet type
// argc: number of arguments it was called with
// argv: arguments array
static Janet interp(int32_t argc, Janet *argv) {
// Assert that argc == 2
janet_fixarity(argc, 2);