An open API service indexing awesome lists of open source software.

https://github.com/kurama622/style-transfer.nvim

Variable naming style transfer, like vim-abolish
https://github.com/kurama622/style-transfer.nvim

neovim neovim-lua neovim-plugin nvim nvim-lua nvim-plugin

Last synced: 3 months ago
JSON representation

Variable naming style transfer, like vim-abolish

Awesome Lists containing this project

README

          

# Style Transfer

**[ENGLISH](README.md)** | [简体中文](README_CN.md)

A variable naming style conversion plugin that can switch between styles such as camel case, pascal case, and snake case.

## Configuration

- lazy.nvim

Use default key mappings

```lua
{
"Kurama622/style-transfer.nvim",
event = "BufEnter",
config = function()
require("style_transfer").setup({})
end,
},
```
Custom key mappings

```lua
{
"Kurama622/style-transfer.nvim",
event = "BufEnter",
config = function()
require("style_transfer").setup({
keys = {
{ "crc", mode = "n", "TransferCamelCase", desc = "namingStyle" },
{ "crm", mode = "n", "TransferMixedCase", desc = "NamingStyle" },
{ "cr_", mode = "n", "TransferStrCase _", desc = "naming_style" },
{ "cr-", mode = "n", "TransferStrCase -", desc = "naming-style" },
{ "cr.", mode = "n", "TransferStrCase .", desc = "naming.style" },
{ "cr ", mode = "n", "TransferStrCase \\ ", desc = "nameing style" },
{ "rc", mode = "x", "TransferCamelCase", desc = "namingStyle" },
{ "rm", mode = "x", "TransferMixedCase", desc = "NamingStyle" },
{ "r_", mode = "x", "TransferStrCase _", desc = "naming_style" },
{ "r-", mode = "x", "TransferStrCase -", desc = "naming-style" },
{ "r.", mode = "x", "TransferStrCase .", desc = "naming.style" },
{ "r ", mode = "x", "TransferStrCase \\ ", desc = "naming style" },
},
})
end,
},
```

Lazy load and custom key mappings

```lua
{
"Kurama622/style-transfer.nvim",
cmd = { "TransferCamelCase", "TransferMixedCase", "TransferStrCase" },
config = function()
require("style_transfer").setup()
end,
keys = {
{ "crc", mode = "n", "TransferCamelCase", desc = "namingStyle" },
{ "crm", mode = "n", "TransferMixedCase", desc = "NamingStyle" },
{ "cr_", mode = "n", "TransferStrCase _", desc = "naming_style" },
{ "cr-", mode = "n", "TransferStrCase -", desc = "naming-style" },
{ "cr.", mode = "n", "TransferStrCase .", desc = "naming.style" },
{ "cr ", mode = "n", "TransferStrCase \\ ", desc = "nameing style" },
{ "rc", mode = "x", "TransferCamelCase", desc = "namingStyle" },
{ "rm", mode = "x", "TransferMixedCase", desc = "NamingStyle" },
{ "r_", mode = "x", "TransferStrCase _", desc = "naming_style" },
{ "r-", mode = "x", "TransferStrCase -", desc = "naming-style" },
{ "r.", mode = "x", "TransferStrCase .", desc = "naming.style" },
{ "r ", mode = "x", "TransferStrCase \\ ", desc = "naming style" },
},
},
```

## Default Key Mapping

| Key | Mode | Description |
|-----|------|----------------|
| `crc` | `n` | to camelCase |
| `crm` | `n` | to PascalCase |
| `crs` | `n` | to snake_case |
| `cr-` | `n` | to dash-case |
| `cr.` | `n` | to dot.case |
| `cr ` | `n` | to space case |
| `rc` | `x` | to camelCase |
| `rm` | `x` | to PascalCase |
| `rs` | `x` | to snake_case |
| `r-` | `x` | to dash-case |
| `r.` | `x` | to dot.case |
| `r ` | `x` | to space case |

## More

`TransferStrCase` function allows you to customize more operations, such as:
``` lua
keys = {
{ "r ", mode = "x", "TransferStrCase \\ " }, -- HelloWorld -> hello world
{ "r|", mode = "x", "TransferStrCase \\ | " }, -- HelloWorld -> hello | world
}
```