Skip to content

Commit 16916b5

Browse files
authored
Merge branch 'main' into main
2 parents c7fcae7 + 3a5f895 commit 16916b5

File tree

71 files changed

+1385
-1033
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+1385
-1033
lines changed

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 59 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -9,22 +9,29 @@ body:
99
value: |
1010
**Before** reporting an issue, make sure to read the [documentation](https://codecompanion.olimorris.dev) and search [existing issues](https://github.com/olimorris/codecompanion.nvim/issues).
1111
12-
Usage questions such as ***"How do I...?"*** belong in [Discussions](https://github.com/olimorris/codecompanion.nvim/discussions) and will be closed.
12+
**What is a bug?**
13+
- A bug is a reproducible error that causes CodeCompanion to behave incorrectly, crash, or not work as documented.
14+
- Minor cosmetic issues (such as extra line breaks or minor formatting quirks) are not considered bugs unless they impact usability or readability.
15+
- Feature requests, usage questions, or configuration help should go to [Discussions](https://github.com/olimorris/codecompanion.nvim/discussions).
1316
14-
Finally, if you don't supply a valid `init.lua` file at the bottom of this page, your issue will be closed.
17+
If you don't supply a valid `init.lua` file at the bottom of this page, your issue will be closed.
18+
19+
_Issues that do not follow this template, or are out of scope, may be closed without comment._
1520
1621
- type: checkboxes
1722
attributes:
18-
label: Did you check the docs and existing issues?
19-
description: Make sure you checked all of the below before submitting an issue
23+
label: Pre-submission checklist
24+
description: Please confirm all of the following before submitting.
2025
options:
21-
- label: I have read all the docs
26+
- label: I have read the documentation.
27+
required: true
28+
- label: I have updated CodeCompanion.nvim and all dependencies to the latest version.
2229
required: true
23-
- label: I have updated the plugin to the latest version before submitting this issue
30+
- label: I have searched for existing issues and discussions.
2431
required: true
25-
- label: I have searched for existing issues/discussions
32+
- label: I have checked related plugin issue trackers if relevant.
2633
required: true
27-
- label: I have searched the existing issues of plugins related to this issue
34+
- label: My issue is not a minor or cosmetic quirk (e.g., formatting, spacing, or other non-functional details).
2835
required: true
2936

3037
- type: input
@@ -33,56 +40,78 @@ body:
3340
placeholder: "0.8.0 commit db1b0ee3b30f"
3441
validations:
3542
required: true
43+
3644
- type: input
3745
attributes:
3846
label: "Operating system/version"
39-
placeholder: "MacOS 11.5"
47+
placeholder: "macOS 14.4, Ubuntu 22.04, Windows 11"
4048
validations:
4149
required: true
50+
4251
- type: input
4352
attributes:
4453
label: "Adapter and model"
4554
placeholder: "Copilot and GPT-4.1"
4655
validations:
4756
required: true
4857

49-
5058
- type: textarea
5159
attributes:
5260
label: Describe the bug
53-
description: A clear and concise description of what the bug is. Please include any related errors you see in Neovim.
61+
description: |
62+
A clear and concise description of the problem.
63+
Include any error messages or unexpected behavior you observe.
64+
placeholder: |
65+
When I ...
66+
I expected ...
67+
Instead ...
5468
validations:
5569
required: true
70+
5671
- type: textarea
5772
attributes:
58-
label: Steps To Reproduce
59-
description: Steps to reproduce the behavior.
73+
label: Steps to reproduce
74+
description: |
75+
List the steps to reproduce the issue.
76+
Be as minimal and precise as possible.
6077
placeholder: |
61-
1.
62-
2.
63-
3.
78+
1. Open Neovim with the provided init.lua
79+
2. ...
80+
3. ...
6481
validations:
6582
required: true
83+
6684
- type: textarea
6785
attributes:
68-
label: Expected Behavior
69-
description: A concise description of what you expected to happen.
86+
label: Expected behavior
87+
description: What did you expect to happen?
88+
placeholder: |
89+
I expected ...
7090
validations:
7191
required: true
7292

93+
- type: textarea
94+
attributes:
95+
label: Screenshots or recordings (optional)
96+
description: If applicable, add screenshots or a screen recording to help explain your problem.
97+
validations:
98+
required: false
99+
73100
- type: markdown
74101
attributes:
75102
value: |
76-
## Reproduce
77-
78-
Please provide the necessary config so I can recreate this issue. It's a big ask of my time as a single maintainer to investigate all possible issues that a user is experiencing.
103+
## Minimal Reproduction
79104
80-
Use the template `init.lua` file provided to you below. A minimal config will be created for you in your working directory under `.repro`.
105+
Please provide a minimal `init.lua` file that reproduces the issue.
106+
Save as `init.lua` and run with `nvim -u init.lua`.
107+
A minimal config will be created for you in your working directory under `.repro`.
81108
82109
- type: textarea
83110
attributes:
84111
label: init.lua file
85-
description: Minimal file to reproduce this issue. Save as `init.lua` and run with `nvim -u init.lua`
112+
description: |
113+
Paste your minimal `init.lua` here.
114+
Issues without a working minimal config will be closed.
86115
value: |
87116
--[[
88117
NOTE: Set the config path to enable the copilot adapter to work.
@@ -170,16 +199,18 @@ body:
170199

171200
- type: textarea
172201
attributes:
173-
label: Log output
174-
description: Share the output from the log file in your current working directory at `.repro/state/nvim/codecompanion.log`
202+
label: Log output (optional)
203+
description: |
204+
Share the output from `.repro/state/nvim/codecompanion.log` if available.
205+
Please redact any sensitive information.
175206
validations:
176207
required: false
177208

178209
- type: checkboxes
179210
attributes:
180-
label: Have you provided and tested with a repro.lua file?
181-
description: I'll close this issue with no reason if I can't recreate it
211+
label: Minimal reproduction confirmation
212+
description: I have provided and tested with a minimal `init.lua` file as described above.
182213
options:
183-
- label: Yes, I have tested and provided a repro.lua file
214+
- label: Yes, I have tested and provided a minimal `init.lua` file that reproduces the issue.
184215
required: true
185216

.github/workflows/spelling.yaml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,5 @@ jobs:
1717
uses: actions/checkout@v4
1818

1919
- name: Spell Check 📝
20-
uses: crate-ci/typos@v1.29.4
21-
with:
22-
config: ./spelling.toml
20+
uses: crate-ci/typos@v1.33.1
2321

CHANGELOG.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,56 @@
11
# Changelog
22

3+
## [17.5.0](https://github.com/olimorris/codecompanion.nvim/compare/v17.4.0...v17.5.0) (2025-06-28)
4+
5+
6+
### Features
7+
8+
* **adapters:** add tool support to Azure OpenAI ([#1737](https://github.com/olimorris/codecompanion.nvim/issues/1737)) ([2c7e9b1](https://github.com/olimorris/codecompanion.nvim/commit/2c7e9b1aa9fa1f5a2b4d82f3f4e065cb0c8bc2b7))
9+
10+
11+
### Bug Fixes
12+
13+
* **adapters:** reduce copilot premium request consumption ([#1738](https://github.com/olimorris/codecompanion.nvim/issues/1738)) ([ed96fe3](https://github.com/olimorris/codecompanion.nvim/commit/ed96fe33c17b41957f2334b1cae29c24d35f8ef2))
14+
* **tools:** patching for empty and small files with insufficient context ([#1734](https://github.com/olimorris/codecompanion.nvim/issues/1734)) ([cb55ef0](https://github.com/olimorris/codecompanion.nvim/commit/cb55ef006be3e75015c84fbd9adef14b3546a08f))
15+
16+
17+
### Code Refactoring
18+
19+
* **chat:** tools and variables now use `@{tool}` and `#{variable}` syntax ([#1740](https://github.com/olimorris/codecompanion.nvim/issues/1740)) ([f89eca2](https://github.com/olimorris/codecompanion.nvim/commit/f89eca26368b29bc8259921d459c1b4e5bfaeebb))
20+
21+
## [17.4.0](https://github.com/olimorris/codecompanion.nvim/compare/v17.3.0...v17.4.0) (2025-06-27)
22+
23+
24+
### Features
25+
26+
* **adapters:** :boom: add tool support to Ollama ([#1585](https://github.com/olimorris/codecompanion.nvim/issues/1585)) ([e325370](https://github.com/olimorris/codecompanion.nvim/commit/e325370b8325697cb2f6becd13f267e6a12a0393))
27+
28+
29+
### Bug Fixes
30+
31+
* **workspace:** add description to buffer content ([#1713](https://github.com/olimorris/codecompanion.nvim/issues/1713)) ([ff939d1](https://github.com/olimorris/codecompanion.nvim/commit/ff939d18d8d64b0bef985aeb9be26f57e4ee8837))
32+
33+
## [17.3.0](https://github.com/olimorris/codecompanion.nvim/compare/v17.2.0...v17.3.0) (2025-06-24)
34+
35+
36+
### Features
37+
38+
* **chat:** add copilot usage statistics with `gS` keymap ([#1677](https://github.com/olimorris/codecompanion.nvim/issues/1677)) ([8602a50](https://github.com/olimorris/codecompanion.nvim/commit/8602a50cacf111c69f35e305d1556afd9fa1f1a1))
39+
40+
## [17.2.0](https://github.com/olimorris/codecompanion.nvim/compare/v17.1.1...v17.2.0) (2025-06-24)
41+
42+
43+
### Features
44+
45+
* **workspaces:** files can be opened as buffers ([#1708](https://github.com/olimorris/codecompanion.nvim/issues/1708)) ([2ea49ff](https://github.com/olimorris/codecompanion.nvim/commit/2ea49ff2063100757e71b0e327b7a32a1d566a9d))
46+
47+
48+
### Bug Fixes
49+
50+
* require tool module path correctly ([#1670](https://github.com/olimorris/codecompanion.nvim/issues/1670)) ([dbefc41](https://github.com/olimorris/codecompanion.nvim/commit/dbefc41dba2f46720ecb6ecec34c0c5f80022f2b))
51+
* **tools:** patching algorithm can start with an empty line ([#1663](https://github.com/olimorris/codecompanion.nvim/issues/1663)) ([370ec56](https://github.com/olimorris/codecompanion.nvim/commit/370ec56f388fd317fd324d68709e9441d3461896))
52+
* **tools:** patching algorithm now supports lines starting with `-` ([#1654](https://github.com/olimorris/codecompanion.nvim/issues/1654)) ([9011839](https://github.com/olimorris/codecompanion.nvim/commit/9011839a6827b264d632822d9ce17cb66fe95e61))
53+
354
## [17.1.1](https://github.com/olimorris/codecompanion.nvim/compare/v17.1.0...v17.1.1) (2025-06-16)
455

556

_typos.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[files]
2+
extend-exclude = [ "CHANGELOG.md", "tests/", "doc/codecompanion.txt" ]
3+

doc/.vitepress/config.mjs

Lines changed: 1 addition & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
import { defineConfig } from "vitepress";
22
import { execSync } from "node:child_process";
33
import { withMermaid } from "vitepress-plugin-mermaid";
4-
import fs from "node:fs";
5-
import path from "node:path";
64

75
const inProd = process.env.NODE_ENV === "production";
86

@@ -30,50 +28,6 @@ const headers = inProd ? [baseHeaders, umamiScript] : baseHeaders;
3028

3129
const siteUrl = "https://codecompanion.olimorris.dev";
3230

33-
const extensionsDir = path.resolve(__dirname, "../extensions");
34-
35-
// Return a list of extensions
36-
function getExtensionSidebarItems() {
37-
try {
38-
const files = fs.readdirSync(extensionsDir);
39-
return files
40-
.filter((file) => file.endsWith(".md") && file !== "index.md")
41-
.map((file) => {
42-
const nameWithoutExt = path.basename(file, ".md");
43-
const filePath = path.join(extensionsDir, file);
44-
let text = "";
45-
46-
try {
47-
const content = fs.readFileSync(filePath, "utf-8");
48-
const lines = content.split("\n");
49-
const h1Line = lines.find((line) => line.startsWith("# "));
50-
if (h1Line) {
51-
text = h1Line.substring(2).trim(); // Extract text after '# '
52-
}
53-
} catch (readError) {
54-
console.error(`Error reading file ${filePath}:`, readError);
55-
}
56-
57-
// Fallback if H1 not found or file read error
58-
if (!text) {
59-
text = nameWithoutExt
60-
.split("-")
61-
.map((word) => word.charAt(0).toUpperCase() + word.slice(1))
62-
.join(" ");
63-
}
64-
65-
return {
66-
text: text,
67-
link: `/extensions/${nameWithoutExt}`,
68-
};
69-
});
70-
} catch (error) {
71-
console.error("Error reading extensions directory:", error);
72-
return [];
73-
}
74-
}
75-
76-
const extensionItems = getExtensionSidebarItems();
7731

7832
// https://vitepress.dev/reference/site-config
7933
export default withMermaid(
@@ -164,11 +118,7 @@ export default withMermaid(
164118
{ text: "Creating Extensions", link: "/extending/extensions" },
165119
],
166120
},
167-
{
168-
text: "Community Extensions",
169-
collapsed: true,
170-
items: extensionItems,
171-
},
121+
{ text: "Community Extensions", link: "/extensions" },
172122
],
173123

174124
editLink: {

0 commit comments

Comments
 (0)