diff --git a/docs/c.md b/docs/c.md new file mode 100644 index 0000000..32f5942 --- /dev/null +++ b/docs/c.md @@ -0,0 +1,13 @@ +## Keybinds +```lua +require("Polydev").c.setup({ + keybinds = { + [""] = "CloseTerminal" -- Closes terminal, esc by default. + ["cb"] = "CBuild", -- Building all C Files in src directory in. + ["cr"] = "CRun", -- Runs in your build directory + ["cnf"] = "NewCFile", -- Creates a new c file in the current project src folder + ["cnp"] = "NewCHeaderFile", -- Creates a new header file in the current project src folder + ["cnh"] = "NewCProject", -- Creates a new project in the project directory in the config, defaults to ~/Projects/C unless project_root is set + }, +}) +``` diff --git a/docs/examples.md b/docs/examples.md new file mode 100644 index 0000000..5337775 --- /dev/null +++ b/docs/examples.md @@ -0,0 +1,29 @@ +### Lazyvim and Config +```lua +-- There is no need to copy this. This is an example and it consists of the defaults. This is a Java example. +require { + "DarthMooMancer/Polydev", + config = function() + require("Polydev").language.setup({ + project_root = "~/projects", + keybinds = { + [""] = "CloseTerminal", + ["jb"] = "JavaBuild", + ["jr"] = "JavaRun", + ["nf"] = "NewJavaFile", + ["np"] = "NewJavaProject", + }, + terminal = { + right_padding = 0, + bottom_padding = 0, + left_padding = 0, + top_padding = 0, + border = true, + number = true, + relativenumber = true, + scroll = true, + } + }) + end +} +``` diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..489e09d --- /dev/null +++ b/docs/index.md @@ -0,0 +1,10 @@ +# Welcome to Polydev +---------- + +### What is Polydev? +Polydev is a simple plugin that gives neovim some nice functions while being extremely extensible for developers. Are there better plugins? Most likely, however this has simple functions for: + +* Creating New Projects +* Creating New Files +* Building Files +* Running Files diff --git a/docs/installation.md b/docs/installation.md new file mode 100644 index 0000000..019fbb5 --- /dev/null +++ b/docs/installation.md @@ -0,0 +1,24 @@ +# Installation +!!! Polydev can be installed with any plugin installer or manually. These are just examples. + +## Lazyvim +---------- + +```lua +require { + "DarthMooMancer/Polydev", + config = function() + require("Polydev").language.setup() + end +} +``` + +## Mini.Deps +------------ +```lua +MiniDeps.add({ + source = 'DarthMooMancer/Polydev', +}) + +require("Polydev").language.setup() +``` diff --git a/docs/java.md b/docs/java.md new file mode 100644 index 0000000..ab6e6a7 --- /dev/null +++ b/docs/java.md @@ -0,0 +1,13 @@ +## Keybinds +```lua +-- These are defaults, so no need to copy them +require("Polydev").java.setup({ + keybinds = { + ["jb"] = "JavaBuild" -- Building all Java Files in src directory in. + ["jr"] = "JavaRun" -- Runs Main.java in the out folder in your project_root + ["jnf"] = "NewJavaFile" -- Creates a new Java file in the current project src folder + ["jnp"] = "NewJavaProject" -- Creates a new project in the project directory in the config, defaults to ~/Projects unless project_root is set + [""] = "CloseTerminal" -- Closes terminal, esc by default. + } +}) +``` diff --git a/docs/setup.md b/docs/setup.md new file mode 100644 index 0000000..df131da --- /dev/null +++ b/docs/setup.md @@ -0,0 +1,44 @@ +# Setup and Customizing + +## Project Name + +```lua +require("Polydev").language.setup({ + project_root = "~/Home/..." -- Default: ~/Projects/Language +}) +``` + +* You can change the default directory for the project. The project can be made from anywhere you want. +* It will automatically make the new Root Directory, so you don't have to worry about making it. + +## Keybinds +* Keybinds are different for each language, but each one can be changed. Look at the language you want to change for keybind documentation. + +## Terminal +* The terminal has a couple of options that can be customized and with more to come + - Each is set to 0 by default + * **_right_padding:_** Padding for the right width of the terminal + * **_left_padding:_** Padding for the left width of the terminal + * **_top_padding:_** Padding for the top height of the terminal + * **_bottom_padding:_** Padding for the bottom padding of the terminal + - Each is enabled by default + * **_border:_** Adds a rounded border to the window + * **_number:_** Adds numbers to side of terminal + * **_relativenumber:_** Relative numbers indicate distances from the cursor, only works if number is enabled + * **_scroll:_** Allows scrolling in terminal + +```lua +-- These are just defaults, so no need to copy them +require("Polydev").language.setup({ + terminal = { + right_padding = 0, + bottom_padding = 0, + left_padding = 0, + top_padding = 0, + border = true, + number = true, + relativenumber = true, + scroll = true, + } +}) +``` diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000..6a087a9 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,51 @@ +site_name: Javanvim +nav: + - Home: index.md + - Installation: installation.md + - Setup: setup.md + - Examples: examples.md + - Language Docs: + - Java: java.md + - C: c.md +theme: + name: material + features: + - navigation.tabs + - navigation.sections + - toc.integrate + - navigation.top + - search.suggest + - search.highlight + - content.tabs.link + - content.code.annotation + - content.code.copy + language: en + palette: + - scheme: slate + primary: slate + accent: teal + +extra: + social: + - icon: fontawesome/brands/github-alt + link: https://github.com/DarthMooMancer + +markdown_extensions: + - pymdownx.highlight: + anchor_linenums: true + - pymdownx.inlinehilite + - pymdownx.snippets + - admonition + - pymdownx.arithmatex: + generic: true + - footnotes + - pymdownx.details + - pymdownx.superfences + - pymdownx.mark + - attr_list + - pymdownx.emoji: + emoji_index: !!python/name:materialx.emoji.twemoji + emoji_generator: !!python/name:materialx.emoji.to_svg + +copyright: | + © 2025 DarthMooMancer