From b589e4e229e694e34bef979390848534724b13d6 Mon Sep 17 00:00:00 2001 From: Dmitry Kosenkov <1144095+Junker@users.noreply.github.com> Date: Thu, 7 Jul 2022 17:29:43 +0700 Subject: [PATCH] Initial commit --- LICENSE | 21 +++++++++++++++++++++ README.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ init.lua | 13 +++++++++++++ lib/util.lua | 16 ++++++++++++++++ src | 1 + 5 files changed, 103 insertions(+) create mode 100644 LICENSE create mode 100644 README.md create mode 100644 init.lua create mode 100644 lib/util.lua create mode 120000 src diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..03b3d59 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 Arijit Basu + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..55f4b9a --- /dev/null +++ b/README.md @@ -0,0 +1,52 @@ +# xplr plugin template + +Use this template to [write your own xplr plugin](https://arijitbasu.in/xplr/en/writing-plugins.html). + +> **NOTE:** The `src` directory is a symlink to `.` for compatibility reasons. +> It may be removed in the future. + +## Requirements + +- Some tool + +## Installation + +### Install manually + +- Add the following line in `~/.config/xplr/init.lua` + + ```lua + local home = os.getenv("HOME") + package.path = home + .. "/.config/xplr/plugins/?/src/init.lua;" + .. home + .. "/.config/xplr/plugins/?.lua;" + .. package.path + ``` + +- Clone the plugin + + ```bash + mkdir -p ~/.config/xplr/plugins + + git clone https://github.com/{username}/{plugin}.xplr ~/.config/xplr/plugins/{plugin} + ``` + +- Require the module in `~/.config/xplr/init.lua` + + ```lua + require("{plugin}").setup() + + -- Or + + require("{plugin}").setup{ + mode = "action", + key = ":", + } + + -- Type `::` and enjoy. + ``` + +## Features + +- Some cool feature diff --git a/init.lua b/init.lua new file mode 100644 index 0000000..7b22506 --- /dev/null +++ b/init.lua @@ -0,0 +1,13 @@ +---@diagnostic disable +local xplr = xplr +---@diagnostic enable + +local util = require("plugin-template1.lib.util") + +local function setup(args) + print(util.dump(args)) + print(util.dump(xplr)) + io.read() +end + +return { setup = setup } diff --git a/lib/util.lua b/lib/util.lua new file mode 100644 index 0000000..70fcfdc --- /dev/null +++ b/lib/util.lua @@ -0,0 +1,16 @@ +local function dump(o) + if type(o) == "table" then + local s = "{ " + for k, v in pairs(o) do + if type(k) ~= "number" then + k = '"' .. k .. '"' + end + s = s .. "[" .. k .. "] = " .. dump(v) .. "," + end + return s .. "} " + else + return tostring(o) + end +end + +return { dump = dump } diff --git a/src b/src new file mode 120000 index 0000000..945c9b4 --- /dev/null +++ b/src @@ -0,0 +1 @@ +. \ No newline at end of file