Skip to content

feat: add --ide-json flag for IDE integration#32

Merged
bordeux merged 5 commits into
masterfrom
feature/ide-support
Jan 4, 2026
Merged

feat: add --ide-json flag for IDE integration#32
bordeux merged 5 commits into
masterfrom
feature/ide-support

Conversation

@bordeux
Copy link
Copy Markdown
Owner

@bordeux bordeux commented Jan 4, 2026

Add --ide-json CLI flag that outputs all function metadata as JSON, enabling IDE integrations to provide autocomplete, documentation, and syntax validation.

Key changes:

  • Add FunctionMetadata, ArgumentMetadata, SyntaxVariants types
  • Extend FilterFunction trait with METADATA constant
  • Extend IsFunction/ContextIsFunction traits with METADATA constant
  • Add METADATA to all 83 filter and is-function implementations
  • Add get_all_metadata() function to collect all metadata
  • Add --ide-json CLI flag with early exit

The metadata includes function name, category, description, arguments (with types, defaults, descriptions), return type, examples, and syntax variants (function/filter/is_test).

🤖 Generated with Claude Code

@codecov
Copy link
Copy Markdown

codecov Bot commented Jan 4, 2026

Codecov Report

❌ Patch coverage is 91.57143% with 118 lines in your changes missing coverage. Please review.
✅ Project coverage is 92.11%. Comparing base (900b11a) to head (7c5a7eb).
⚠️ Report is 7 commits behind head on master.

Files with missing lines Patch % Lines
src/functions/object.rs 80.82% 28 Missing ⚠️
src/functions/array.rs 92.78% 22 Missing ⚠️
src/functions/math.rs 76.27% 14 Missing ⚠️
src/functions/kubernetes.rs 94.44% 13 Missing ⚠️
src/main.rs 0.00% 13 Missing ⚠️
src/functions/logic.rs 87.75% 6 Missing ⚠️
src/functions/system.rs 81.48% 5 Missing ⚠️
src/functions/debug.rs 88.57% 4 Missing ⚠️
src/functions/encoding.rs 91.30% 4 Missing ⚠️
src/functions/network.rs 94.66% 4 Missing ⚠️
... and 3 more
Additional details and impacted files
@@            Coverage Diff             @@
##           master      #32      +/-   ##
==========================================
+ Coverage   91.15%   92.11%   +0.96%     
==========================================
  Files          45       47       +2     
  Lines        3820     3373     -447     
==========================================
- Hits         3482     3107     -375     
+ Misses        338      266      -72     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Add --ide <format> CLI flag that exports all function metadata for IDE
integration. Supports JSON, YAML, and TOML output formats.

Changes:
- Add --ide flag with json/yaml/toml format options
- Migrate all functions to trait-based pattern with embedded metadata
- Add Function and ContextFunction traits for consistent registration
- Add METADATA constants to FilterFunction and IsFunction traits
- Implement get_all_metadata() to collect 189 functions across 21 categories
- Add comprehensive tests improving coverage from 85% to 91%
- Update README with IDE Integration documentation
- Update CLAUDE.md with commit message guidelines
@bordeux bordeux force-pushed the feature/ide-support branch from a9daaf6 to 17f6a79 Compare January 4, 2026 16:13
- Add universal installer as recommended method (curl | sh)
- Add Homebrew tap instructions for macOS
- Add APT repository instructions for Debian/Ubuntu
- Add RPM repository instructions for Fedora/RHEL/CentOS
- Update Quick Start to use universal installer
Fixes Windows CI failures by using assert_cmd which properly builds
the binary before running tests, instead of manually looking for it.
On Windows, resolving empty hostname may succeed (returning localhost),
while on Unix it typically fails. Accept both behaviors as valid.
@bordeux bordeux merged commit f5025fb into master Jan 4, 2026
21 checks passed
github-actions Bot pushed a commit that referenced this pull request Jan 4, 2026
## 1.4.0 (2026-01-04)

* Merge pull request #32 from bordeux/feature/ide-support ([f5025fb](f5025fb)), closes [#32](#32)
* fix: add Windows .exe suffix support in CLI tests ([4787e1d](4787e1d))
* fix: make DNS empty hostname test platform-tolerant ([7c5a7eb](7c5a7eb))
* fix: use assert_cmd for CLI integration tests ([e64e312](e64e312))
* docs: add package manager installation instructions ([115ec12](115ec12))
* feat: add --ide flag for IDE metadata export ([17f6a79](17f6a79))
@bordeux bordeux deleted the feature/ide-support branch January 5, 2026 10:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant