From a72adccec2b27a8a03abcab3f14724ba0d3890d5 Mon Sep 17 00:00:00 2001 From: Vhyrro Date: Wed, 21 Feb 2024 18:11:56 +0100 Subject: [PATCH] docs: add readme.md --- README.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..cacd56c --- /dev/null +++ b/README.md @@ -0,0 +1,31 @@ +# A Lua API for Norgopolis Clients + +For information about Norgopolis, consult https://github.com/nvim-neorg/norgopolis. + +This repository acts as a wrapper around https://github.com/nvim-neorg/norgopolis-client for Lua. +Any Lua application may install this repository as a dependency and communicate with Norgopolis +and its modules. + +# Installation + +```sh +luarocks --local install norgopolis-client.lua +``` + +# Usage + +`norgopolis-client.lua` exposes a very simple yet extendable API: + +```lua +-- Connect to Norgopolis. The port number may be omitted and will default to 62020. +local norgopolis = require("norgopolis").connect("localhost", "62020") + +-- Invoke a function of a given module. The third argument is the parameters to send +-- over to the module. It may be nil or any inbuilt Lua datatype. +-- This will most commonly be a table. +norgopolis:invoke("module-name", "function-name", "hello!", function(ret) + -- This function gets invoked every time a module responds back with a response + -- packet. `ret` could be anything, so be careful! + print(ret) +end) +```