Files
vern-nvim/lua/vern-nvim/templates/python.lua
T

60 lines
1.7 KiB
Lua

return {
--[[ =====================================================================
TEMPLATE: MAIN (Entrypoint)
File: main.py
Target: src/{project_name}/main.py
===================================================================== --]]
main = vim.trim([=[
def main() -> None:
print("Hello from __PROJECT_NAME__!")
if __name__ == "__main__":
main()
]=]) .. "\n",
--[[ =====================================================================
TEMPLATE: INIT (Package Anchor)
File: __init__.py
Target: src/{project_name}/__init__.py
===================================================================== --]]
__init__ = vim.trim([=[
# __PROJECT_NAME__ init
__all__: list[str] = []
]=]) .. "\n",
--[[ =====================================================================
TEMPLATE: PYPROJECT (Spec / Build Manifest)
File: pyproject.toml
Target: pyproject.toml
===================================================================== --]]
pyproject = vim.trim([=[
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "__PROJECT_NAME__"
version = "0.1.0"
description = "Project __PROJECT_NAME__"
readme = "README.md"
requires-python = ">=3.10"
dependencies = []
[project.scripts]
__PROJECT_NAME__ = "__PROJECT_NAME__.main:main"
]=]) .. "\n",
--[[ =====================================================================
TEMPLATE: MODULE (Standalone File)
File: {name}.py
Target: src/{project_name}/{name}.py
===================================================================== --]]
module = vim.trim([=[
"""
Module: __PROJECT_NAME__
"""
]=]) .. "\n",
}