Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/TobinPalmer/rayso.nvim
A simple neovim plugin that enables you to instantly create snippets on ray.so
https://github.com/TobinPalmer/rayso.nvim
carbon lua neovim nvim nvim-lua nvim-plugin rayso
Last synced: 14 days ago
JSON representation
A simple neovim plugin that enables you to instantly create snippets on ray.so
- Host: GitHub
- URL: https://github.com/TobinPalmer/rayso.nvim
- Owner: TobinPalmer
- License: unlicense
- Created: 2023-05-31T16:05:19.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-24T16:03:05.000Z (7 months ago)
- Last Synced: 2024-07-31T20:44:14.524Z (3 months ago)
- Topics: carbon, lua, neovim, nvim, nvim-lua, nvim-plugin, rayso
- Language: Lua
- Homepage:
- Size: 797 KB
- Stars: 73
- Watchers: 1
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-neovim - TobinPalmer/rayso.nvim - Create code snippets in Neovim using [ray.so](https://ray.so). (Snippet / PHP)
README
![](./static/gifs/out.gif)
## Requirements
Neovim 0.8+
## Installation
```lua
return {
'TobinPalmer/rayso.nvim',
cmd = { 'Rayso' },
config = function()
require('rayso').setup {}
end
}
```## Configuration
These are the default options, you don't need to copy them into `setup()`
```lua
require('rayso').setup {
base_url = 'https://ray.so/', -- Default URL
open_cmd = 'firefox', -- On MacOS, will open with open -a firefox.app. Other OS's are untested.
options = {
background = true, -- If the screenshot should have a background.
dark_mode = true, -- If the screenshot should be in dark mode.
logging_path = '', -- Path to create a log file in.
logging_file = 'rayso', -- Name of log file, will be a markdown file, ex rayso.md.
logging_enabled = false, -- If you enable the logging file.
padding = 32, -- The default padding that the screenshot will have.
theme = 'crimson', -- Theme
title = 'Untitled', -- Default title
}
}
```## Example Config
```lua
return {
'TobinPalmer/rayso.nvim',
config = function()
require('rayso').setup {
open_cmd = 'chromium',
options = {
logging_path = '/Users/tobin/Documents/Rayso/', -- Notices the trailing slash
logging_file = 'rayso',
logging_enabled = true,
theme = 'midnight',
},
}
vim.keymap.set('v', 'rs', require('lib.create').create_snippet)
end,
}
```## Log File
The most powerful feature of this plugin is its ability to log snippets in a file, creating a time capsule of snippets
This is an example of a log file. Log files will show the first 5 lines of the snippet, then cut off and show the link to the full snippet.#### Source
````md
```lua
---@param file string
---@return boolean
local function file_exists(file)
local f = io.open(file, 'rb')
if f then
...
```[link](https://ray.so/#language=lua&theme=midnight&padding=32&code=LS0tQHBhcmFtIGZpbGUgc3RyaW5nCi0tLUByZXR1cm4gYm9vbGVhbgpsb2NhbCBmdW5jdGlvbiBmaWxlX2V4aXN0cyhmaWxlKQogIGxvY2FsIGYgPSBpby5vcGVuKGZpbGUsICdyYicpCiAgaWYgZiB0aGVuCiAgICBmOmNsb3NlKCkKICBlbmQKICByZXR1cm4gZiB%2BPSBuaWwKZW5k&title=Untitled&background=true&darkMode=true&)
```lua
-- Gets the open command from the config
local function get_open_command()
-- On a mac
if vim.fn.has('macunix') then
return 'open -a ' .. M.config.open_cmd .. '.app'
...
```[link](https://ray.so/#language=lua&theme=midnight&padding=32&code=LS0gR2V0cyB0aGUgb3BlbiBjb21tYW5kIGZyb20gdGhlIGNvbmZpZwpsb2NhbCBmdW5jdGlvbiBnZXRfb3Blbl9jb21tYW5kKCkKICAtLSBPbiBhIG1hYwogIGlmIHZpbS5mbi5oYXMoJ21hY3VuaXgnKSB0aGVuCiAgICByZXR1cm4gJ29wZW4gLWEgJyAuLiBNLmNvbmZpZy5vcGVuX2NtZCAuLiAnLmFwcCcKICBlbmQKCiAgLS0gTm90IGFuIG1hYyBhbmQgY29tbWFuZCBpcyBub3QgYW4gZXhlY3V0YWJsZQogIGlmIHZpbS5mbi5leGVjdXRhYmxlKE0uY29uZmlnLm9wZW5fY21kKSA9PSAwIHRoZW4KICAgIHJldHVybiBlcnJvcignQ291bGQgbm90IGZpbmQgZXhlY3V0YWJsZSBmb3IgJyAuLiBNLmNvbmZpZy5vcGVuX2NtZCkKICBlbmQKCiAgcmV0dXJuIE0uY29uZmlnLm9wZW5fY21kCmVuZA%3D%3D&title=Untitled&background=true&darkMode=true&)
````#### Rendered Output
![image](./static/imgs/Rendered.jpeg)
## Inspiration
I took some code and major inspiration from [Carbon Now](https://github.com/ellisonleao/carbon-now.nvim)