Skip to content

Commit b371b41

Browse files
committed
Initial release - v1.0.0
- Complete DevDocs integration for Neovim - Telescope-based search interface with live preview - Smart filetype detection (30+ language mappings) - Beautiful float window display with syntax highlighting - Easy docset management (install/update/remove) - Comprehensive Vim help documentation - Offline access to 1,000+ documentation sets - LazyVim compatible with lazy loading
0 parents  commit b371b41

17 files changed

Lines changed: 3742 additions & 0 deletions

.gitignore

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Vim
2+
*.swp
3+
*.swo
4+
*~
5+
6+
# Neovim
7+
.netrwhist
8+
9+
# OS
10+
.DS_Store
11+
Thumbs.db
12+
13+
# Test files
14+
test/
15+
scratch/
16+
17+
# Documentation build
18+
doc/tags

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2025 Madstone Technology
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
# madstone-devdocs.nvim
2+
3+
> Neovim plugin for offline DevDocs documentation with Telescope integration
4+
5+
[![GitHub release](https://img.shields.io/github/v/release/madstone-tech/madstone-devdocs)](https://github.com/madstone-tech/madstone-devdocs/releases)
6+
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7+
8+
A comprehensive Neovim plugin that integrates [dedoc](https://github.com/toiletbril/dedoc) for seamless offline access to [DevDocs](https://devdocs.io/) documentation.
9+
10+
## ✨ Features
11+
12+
- 🔍 **Fuzzy Search** - Search through 1,000+ DevDocs documentation sets using Telescope
13+
- 🎯 **Smart Detection** - Automatically detects docset based on current file's filetype
14+
- 📦 **Easy Management** - Install, update, and remove docsets directly from Neovim
15+
- 🎨 **Beautiful UI** - Floating windows with syntax highlighting for documentation
16+
- 📚 **Offline Access** - All documentation available locally, no internet required
17+
- ⌨️ **Vim Help** - Complete `:help madstone-devdocs` documentation
18+
- 🚀 **Fast** - Lazy loading with zero startup cost
19+
20+
## 📦 Requirements
21+
22+
- Neovim 0.8.0 or later
23+
- [dedoc](https://github.com/toiletbril/dedoc) CLI tool (install with: `cargo install dedoc`)
24+
- [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim)
25+
- [plenary.nvim](https://github.com/nvim-lua/plenary.nvim)
26+
27+
## 📥 Installation
28+
29+
### lazy.nvim
30+
31+
```lua
32+
{
33+
"madstone-tech/madstone-devdocs",
34+
dependencies = {
35+
"nvim-telescope/telescope.nvim",
36+
"nvim-lua/plenary.nvim",
37+
},
38+
cmd = {
39+
"MadstoneDevdocsFetch",
40+
"MadstoneDevdocsList",
41+
"MadstoneDevdocsSearch",
42+
"MadstoneDevdocsSearchAll",
43+
},
44+
keys = {
45+
{ "<leader>sd", desc = "Search DevDocs" },
46+
{ "<leader>dl", desc = "Manage DevDocs" },
47+
},
48+
opts = {
49+
-- Configuration options (see below)
50+
},
51+
}
52+
```
53+
54+
## 🚀 Quick Start
55+
56+
1. **Fetch the docset list:**
57+
```vim
58+
:MadstoneDevdocsFetch
59+
```
60+
61+
2. **Browse and download docsets:**
62+
```vim
63+
:MadstoneDevdocsList
64+
```
65+
66+
3. **Start searching:**
67+
- Place cursor on any keyword
68+
- Press `<leader>sd`
69+
70+
## 📖 Documentation
71+
72+
Full documentation: `:help madstone-devdocs`
73+
74+
## 📄 License
75+
76+
MIT License - see [LICENSE](LICENSE) file for details.
77+
78+
## 🙏 Credits
79+
80+
- [dedoc](https://github.com/toiletbril/dedoc) by toiletbril
81+
- [DevDocs](https://devdocs.io/)
82+
- [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim)
83+
84+
---
85+
86+
Made with ❤️ by [Madstone Technology](https://madstone.tech)

after/syntax/madstone-devdocs.vim

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
" Syntax highlighting for madstone_devdocs output
2+
if exists("b:current_syntax")
3+
finish
4+
endif
5+
6+
" Headers and titles
7+
syntax match madstone_devdocsHeader /^[A-Z][A-Za-z0-9 ]*$/
8+
syntax match madstone_devdocsSubHeader /^[A-Z][A-Za-z0-9 ]*:$/
9+
syntax match madstone_devdocsTitle /^#\+ .*/
10+
11+
" Code blocks
12+
syntax region madstone_devdocsCodeBlock start=/^\s*```/ end=/^\s*```/ contains=madstone_devdocsCodeDelimiter
13+
syntax match madstone_devdocsCodeDelimiter /```/ contained
14+
15+
" Inline code
16+
syntax region madstone_devdocsInlineCode start=/`/ end=/`/ oneline
17+
18+
" Links and references
19+
syntax match madstone_devdocsLink /\[.*\](.*)/ contains=madstone_devdocsLinkText,madstone_devdocsLinkURL
20+
syntax match madstone_devdocsLinkText /\[.\{-}\]/ contained
21+
syntax match madstone_devdocsLinkURL /(.\{-})/ contained
22+
23+
" Bold and italic
24+
syntax region madstone_devdocsBold start=/\*\*/ end=/\*\*/ oneline
25+
syntax region madstone_devdocsItalic start=/\*/ end=/\*/ oneline
26+
27+
" Lists
28+
syntax match madstone_devdocsListMarker /^\s*[-*+]\s/
29+
syntax match madstone_devdocsOrderedList /^\s*\d\+\.\s/
30+
31+
" Parameters and types
32+
syntax match madstone_devdocsParameter /\<[a-z_][a-z0-9_]*\>/ contained
33+
syntax match madstone_devdocsType /\<[A-Z][A-Za-z0-9]*\>/
34+
35+
" Sections
36+
syntax match madstone_devdocsSection /^[A-Z][A-Z ]*$/
37+
38+
" Special keywords
39+
syntax keyword madstone_devdocsKeyword Returns Example Note Warning Parameters Arguments
40+
syntax keyword madstone_devdocsKeyword See Also Related Syntax Usage Description
41+
42+
" Highlight groups
43+
highlight default link madstone_devdocsHeader Title
44+
highlight default link madstone_devdocsSubHeader Special
45+
highlight default link madstone_devdocsTitle Identifier
46+
highlight default link madstone_devdocsCodeBlock String
47+
highlight default link madstone_devdocsCodeDelimiter Comment
48+
highlight default link madstone_devdocsInlineCode Constant
49+
highlight default link madstone_devdocsLink Underlined
50+
highlight default link madstone_devdocsLinkText String
51+
highlight default link madstone_devdocsLinkURL Comment
52+
highlight default link madstone_devdocsBold Bold
53+
highlight default link madstone_devdocsItalic Italic
54+
highlight default link madstone_devdocsListMarker Operator
55+
highlight default link madstone_devdocsOrderedList Operator
56+
highlight default link madstone_devdocsType Type
57+
highlight default link madstone_devdocsSection Title
58+
highlight default link madstone_devdocsKeyword Keyword
59+
60+
let b:current_syntax = "madstone_devdocs"

0 commit comments

Comments
 (0)