-
Notifications
You must be signed in to change notification settings - Fork 4
Documentation
License
nvim-orgmode/nvim-orgmode.github.io
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
<!DOCTYPE html>
<html lang="en-US" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Contributing Guide | Nvim Orgmode</title>
<meta name="description" content="Documentation for Nvim Orgmode">
<meta name="generator" content="VitePress v1.6.3">
<link rel="preload stylesheet" href="/assets/style.DFTx90Kk.css" as="style">
<link rel="preload stylesheet" href="/vp-icons.css" as="style">
<script type="module" src="/assets/app.CcHIVmLN.js"></script>
<link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
<link rel="modulepreload" href="/assets/chunks/theme.C5eTVCmd.js">
<link rel="modulepreload" href="/assets/chunks/framework.CB8iguzh.js">
<link rel="modulepreload" href="/assets/contributing.md.C1oiFVnw.lean.js">
<link rel="icon" href="/favicon.ico">
<meta name="og:title" content="Nvim Orgmode">
<meta name="og:description" content="Documentation for Nvim Orgmode">
<meta name="og:image" content="https://github.com/nvim-orgmode/orgmode/blob/master/assets/nvim-orgmode.svg">
<meta name="og:url" content="https://nvim-orgmode.github.i">
<meta name="twitter:title" content="Nvim Orgmode">
<meta name="twitter:description" content="Documentation for Nvim Orgmode">
<meta name="twitter:image" content="https://github.com/nvim-orgmode/orgmode/blob/master/assets/nvim-orgmode.svg">
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
</head>
<body>
<div id="app"><div class="Layout" data-v-5d98c3a5><!--[--><!--]--><!--[--><span tabindex="-1" data-v-0b0ada53></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-0b0ada53>Skip to content</a><!--]--><!----><header class="VPNav" data-v-5d98c3a5 data-v-ae24b3ad><div class="VPNavBar" data-v-ae24b3ad data-v-6aa21345><div class="wrapper" data-v-6aa21345><div class="container" data-v-6aa21345><div class="title" data-v-6aa21345><div class="VPNavBarTitle has-sidebar" data-v-6aa21345 data-v-1168a8e4><a class="title" href="/" data-v-1168a8e4><!--[--><!--]--><!--[--><img class="VPImage logo" src="./nvim-orgmode.svg" alt data-v-8426fc1a><!--]--><span data-v-1168a8e4>Nvim Orgmode</span><!--[--><!--]--></a></div></div><div class="content" data-v-6aa21345><div class="content-body" data-v-6aa21345><!--[--><!--]--><div class="VPNavBarSearch search" data-v-6aa21345><!--[--><!----><div id="docsearch"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-6aa21345 data-v-dc692963><span id="main-nav-aria-label" class="visually-hidden" data-v-dc692963> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/" tabindex="0" data-v-dc692963 data-v-e56f3d57><!--[--><span data-v-e56f3d57>Home</span><!--]--></a><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-6aa21345 data-v-6c893767><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-6c893767 data-v-5337faa4 data-v-1d5665e3><span class="check" data-v-1d5665e3><span class="icon" data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-5337faa4></span><span class="vpi-moon moon" data-v-5337faa4></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-6aa21345 data-v-0394ad82 data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://github.com/nvim-orgmode/orgmode" aria-label="github" target="_blank" rel="noopener" data-v-7bc22406 data-v-bd121fe5><span class="vpi-social-github"></span></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-6aa21345 data-v-bb2aa2f0 data-v-cf11d7a2><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-cf11d7a2><span class="vpi-more-horizontal icon" data-v-cf11d7a2></span></button><div class="menu" data-v-cf11d7a2><div class="VPMenu" data-v-cf11d7a2 data-v-b98bc113><!----><!--[--><!--[--><!----><div class="group" data-v-bb2aa2f0><div class="item appearance" data-v-bb2aa2f0><p class="label" data-v-bb2aa2f0>Appearance</p><div class="appearance-action" data-v-bb2aa2f0><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-bb2aa2f0 data-v-5337faa4 data-v-1d5665e3><span class="check" data-v-1d5665e3><span class="icon" data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-5337faa4></span><span class="vpi-moon moon" data-v-5337faa4></span><!--]--></span></span></button></div></div></div><div class="group" data-v-bb2aa2f0><div class="item social-links" data-v-bb2aa2f0><div class="VPSocialLinks social-links-list" data-v-bb2aa2f0 data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://github.com/nvim-orgmode/orgmode" aria-label="github" target="_blank" rel="noopener" data-v-7bc22406 data-v-bd121fe5><span class="vpi-social-github"></span></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-6aa21345 data-v-e5dd9c1c><span class="container" data-v-e5dd9c1c><span class="top" data-v-e5dd9c1c></span><span class="middle" data-v-e5dd9c1c></span><span class="bottom" data-v-e5dd9c1c></span></span></button></div></div></div></div><div class="divider" data-v-6aa21345><div class="divider-line" data-v-6aa21345></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-5d98c3a5 data-v-a6f0e41e><div class="container" data-v-a6f0e41e><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-a6f0e41e><span class="vpi-align-left menu-icon" data-v-a6f0e41e></span><span class="menu-text" data-v-a6f0e41e>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-a6f0e41e data-v-8a42e2b4><button data-v-8a42e2b4>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-5d98c3a5 data-v-319d5ca6><div class="curtain" data-v-319d5ca6></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-319d5ca6><span class="visually-hidden" id="sidebar-aria-label" data-v-319d5ca6> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-c40bc020><section class="VPSidebarItem level-0 has-active" data-v-c40bc020 data-v-b3fd67f8><!----><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/index" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>Home</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/installation" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>Installation</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/configuration" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>Configuration</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/plugins" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>Plugins</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/contributing" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>Contributing</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/troubleshoot" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>Troubleshoot</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/tutorial" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>Tutorial</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/changelog" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>Changelog</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-5d98c3a5 data-v-1428d186><div class="VPDoc has-sidebar has-aside" data-v-1428d186 data-v-39a288b8><!--[--><!--]--><div class="container" data-v-39a288b8><div class="aside" data-v-39a288b8><div class="aside-curtain" data-v-39a288b8></div><div class="aside-container" data-v-39a288b8><div class="aside-content" data-v-39a288b8><div class="VPDocAside" data-v-39a288b8 data-v-3f215769><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-3f215769 data-v-a5bbad30><div class="content" data-v-a5bbad30><div class="outline-marker" data-v-a5bbad30></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-a5bbad30>On this page</div><ul class="VPDocOutlineItem root" data-v-a5bbad30 data-v-b933a997><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-3f215769></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-39a288b8><div class="content-container" data-v-39a288b8><!--[--><!--]--><main class="main" data-v-39a288b8><div style="position:relative;" class="vp-doc _contributing" data-v-39a288b8><div><h1 id="contributing-guide" tabindex="-1">Contributing Guide <a class="header-anchor" href="#contributing-guide" aria-label="Permalink to "Contributing Guide"">β</a></h1><p>Thanks for wanting to help out with nvim-orgmode, we appreciate the effort!</p><ul><li><a href="#reporting-bugsfeatures">Reporting Bugs/Features</a></li><li><a href="#documentation">Documentation</a></li><li><a href="#development">Development</a><ul><li><a href="#philosophy">Philosophy</a></li><li><a href="#local-dev">Local dev</a></li><li><a href="#code">Code</a><ul><li><a href="#tests">Tests</a></li><li><a href="#parser">Parser</a></li></ul></li></ul></li></ul><h2 id="reporting-bugsfeatures" tabindex="-1">Reporting Bugs/Features <a class="header-anchor" href="#reporting-bugsfeatures" aria-label="Permalink to "Reporting Bugs/Features"">β</a></h2><p>π£ Please always make a quick search in our <a href="https://github.com/nvim-orgmode/orgmode/issues" target="_blank" rel="noreferrer">issue-tracker</a> before reporting anything. If the bug/feature has already been reported, continue the conversation on the existing issue.</p><p>We distinguish between <code>core</code> (part of <a href="https://orgmode.org/" target="_blank" rel="noreferrer">orgmode</a>) and <code>non-core</code> features. The former will be prioritized. Bugs get the highest priority.</p><p>If you're reporting a <code>core</code> feature, please be sure to provide a link that describes it. There are several places where features could be documented, have a look at these <a href="https://orgmode.org/worg/#resources" target="_blank" rel="noreferrer">resources</a>. The more info you provide the better!</p><h2 id="documentation" tabindex="-1">Documentation <a class="header-anchor" href="#documentation" aria-label="Permalink to "Documentation"">β</a></h2><p>If you spot something missing in our <a href="./">docs</a>, don't hesitate making a PR. The <a href="https://github.com/nvim-orgmode/orgmode/wiki" target="_blank" rel="noreferrer">wiki</a> can be edited freely.</p><h2 id="development" tabindex="-1">Development <a class="header-anchor" href="#development" aria-label="Permalink to "Development"">β</a></h2><h3 id="philosophy" tabindex="-1">Philosophy <a class="header-anchor" href="#philosophy" aria-label="Permalink to "Philosophy"">β</a></h3><p>We try to mimic the behavior of Emacs Orgmode as closely as possible. Variable names follow the same naming convention as in Emacs Orgmode, except that they are in <code>snake_case</code> instead of <code>kebab-case</code>.</p><p>Example: <code>org-agenda-files</code> in Emacs is <code>org_agenda_files</code> in nvim-orgmode.</p><h3 id="local-dev" tabindex="-1">Local dev <a class="header-anchor" href="#local-dev" aria-label="Permalink to "Local dev"">β</a></h3><p>Requirements:</p><ul><li><a href="https://github.com/JohnnyMorganz/StyLua" target="_blank" rel="noreferrer">StyLua</a> - For formatting</li></ul><p>To set up local development, run <code>make setup_dev</code>. This will add a pre-commit hook that will auto format all files before committing them. You can always manually format all files with <code>make format</code> command</p><h3 id="code" tabindex="-1">Code <a class="header-anchor" href="#code" aria-label="Permalink to "Code"">β</a></h3><p>If you prefer working on an issue that has been reported, please leave a comment voicing your interest.</p><p>Please document any new code you add with <a href="https://emmylua.github.io/annotation.html" target="_blank" rel="noreferrer">emmylua annotations</a>. Feel free to add annotations/docs to any existing functions integral to your PR that are missing them.</p><h4 id="tests" tabindex="-1">Tests <a class="header-anchor" href="#tests" aria-label="Permalink to "Tests"">β</a></h4><p>To run tests run <code>make test</code> in the nvim-orgmode directory:</p><div class="language-example vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">example</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>make test</span></span></code></pre></div><p>To run a specific test you can set a <code>FILE</code> environment variable to a specific spec you want to test. Example:</p><div class="language-example vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">example</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>make test FILE=./tests/plenary/api/api_spec.lua</span></span></code></pre></div><p>π NOTE: Tests are currently not working on Windows. Test run will only verify if tree-sitter grammar can be installed, and exit with a success message.</p><h4 id="parser" tabindex="-1">Parser <a class="header-anchor" href="#parser" aria-label="Permalink to "Parser"">β</a></h4><p>Parsing is done via builtin treesitter parser and the <a href="https://github.com/nvim-orgmode/tree-sitter-org" target="_blank" rel="noreferrer">tree-sitter-org</a> grammar.</p><h4 id="commits" tabindex="-1">Commits <a class="header-anchor" href="#commits" aria-label="Permalink to "Commits"">β</a></h4><p>Ensure that you follow the <a href="https://www.conventionalcommits.org/" target="_blank" rel="noreferrer">Conventional Commits</a> specification (e.g., <code>feat: add new feature</code>, <code>fix: correct bug</code>, <code>docs: update documentation</code>).</p></div></div></main><footer class="VPDocFooter" data-v-39a288b8 data-v-e257564d><!--[--><!--]--><!----><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-e257564d><span class="visually-hidden" id="doc-footer-aria-label" data-v-e257564d>Pager</span><div class="pager" data-v-e257564d><a class="VPLink link pager-link prev" href="/plugins" data-v-e257564d><!--[--><span class="desc" data-v-e257564d>Previous page</span><span class="title" data-v-e257564d>Plugins</span><!--]--></a></div><div class="pager" data-v-e257564d><a class="VPLink link pager-link next" href="/troubleshoot" data-v-e257564d><!--[--><span class="desc" data-v-e257564d>Next page</span><span class="title" data-v-e257564d>Troubleshoot</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
<script>window.__VP_HASH_MAP__=JSON.parse("{\"changelog.md\":\"BVFb1Xfl\",\"configuration.md\":\"Bvg07Uqv\",\"contributing.md\":\"C1oiFVnw\",\"index.md\":\"CheBSf2V\",\"installation.md\":\"Bh1GqFmB\",\"plugins.md\":\"Du11dEkP\",\"troubleshoot.md\":\"C2gpd73j\",\"tutorial.md\":\"Dp6yyLGk\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Nvim Orgmode\",\"description\":\"Documentation for Nvim Orgmode\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"logo\":\"./nvim-orgmode.svg\",\"search\":{\"provider\":\"algolia\",\"options\":{\"appId\":\"EUVP2UF47W\",\"apiKey\":\"4be90be7c304081ec37a2b44bccefad5\",\"indexName\":\"nvim-orgmodeio\"}},\"nav\":[{\"text\":\"Home\",\"link\":\"/\"}],\"sidebar\":[{\"text\":\"Home\",\"link\":\"/index\"},{\"text\":\"Installation\",\"link\":\"/installation\"},{\"text\":\"Configuration\",\"link\":\"/configuration\"},{\"text\":\"Plugins\",\"link\":\"/plugins\"},{\"text\":\"Contributing\",\"link\":\"/contributing\"},{\"text\":\"Troubleshoot\",\"link\":\"/troubleshoot\"},{\"text\":\"Tutorial\",\"link\":\"/tutorial\"},{\"text\":\"Changelog\",\"link\":\"/changelog\"}],\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/nvim-orgmode/orgmode\"}],\"outline\":{\"level\":[2,3]}},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":true}");</script>
</body>
</html>About
Documentation
License
Contributing
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published