Commit Graph
10592 Commits
Author SHA1 Message Date
Matt Ellis 00fee97117 Add List indexof() function 2026-01-09 19:12:27 +02:00
Matt Ellis fd9b283df1 Add call() function
Vim lists call() as part of List functions. We document it the same way so we can cross-reference, but it's not really a List function, so it's implemented with varFunctions
2026-01-09 19:12:27 +02:00
Matt Ellis e6b863f1ca Add List+Dictionary foreach() function 2026-01-09 19:12:27 +02:00
Matt Ellis ea209d5c94 Refactor function and funcref functions 2026-01-09 19:12:27 +02:00
Matt Ellis 88fa7c2a29 Add doc comment 2026-01-09 19:12:27 +02:00
Matt Ellis 648cebf8d5 Encapsulate calling named function 2026-01-09 19:12:27 +02:00
Matt Ellis e2adf0af51 Handle range for builtin functions 2026-01-09 19:12:27 +02:00
Matt Ellis 1333051ad8 Make range an argument instead of a field 2026-01-09 19:12:27 +02:00
Matt Ellis bd0edb01b6 Introduce BuiltinFunctionHandler base class 2026-01-09 19:12:27 +02:00
Matt Ellis 0f9923128d Update doc comment 2026-01-09 19:12:27 +02:00
Matt Ellis 7600d96d0a Improve handling of dictionary functions
VimFuncref is no longer mutable, since the instance can be shared between variables. A dictionary function must be invoked with a Funcref that captures the dictionary; when accessing a dictionary entry that is a function, the returned value is a newly created partial function that captures the dictionary. This helps fix some issues when printing a dictionary and/or dictionary function with `echo`, including a stack overflow.
2026-01-09 19:12:27 +02:00
Matt Ellis 5e5005f068 Rename FunctionCallExpression for clarity 2026-01-09 19:12:27 +02:00
Matt Ellis 603d7bc886 Remove function from public API 2026-01-09 19:12:27 +02:00
Matt Ellis 1f4e8f110e Fix missing parameter for resource 2026-01-09 19:12:27 +02:00
Matt Ellis 5e74cfdad7 Rename file 2026-01-09 19:12:27 +02:00
Matt Ellis df48c41904 Add List flattennew() function 2026-01-09 19:12:27 +02:00
Matt Ellis 95d3aad9ff Add List flatten() function 2026-01-09 19:12:27 +02:00
Matt Ellis 1afd730083 Add error handling to reverse() function 2026-01-09 19:12:27 +02:00
Matt Ellis 3e23903d95 Rename file 2026-01-09 19:12:27 +02:00
Matt Ellis 5d4dd891e6 Add List+Dictionary extendnew() function 2026-01-09 19:12:27 +02:00
Matt Ellis f27cafbae3 Add List+Dictionary extend() function 2026-01-09 19:12:27 +02:00
Matt Ellis e1ddf7780f Add List+String slice() function 2026-01-09 19:12:27 +02:00
Matt Ellis 4103291d1a Add List+Dictionary+String items() function 2026-01-09 19:12:27 +02:00
Matt Ellis 727b94e6ff Add Dictionary values() function 2026-01-09 19:12:27 +02:00
Matt Ellis d07a154a77 Add Dictionary keys() function 2026-01-09 19:12:27 +02:00
Matt Ellis 94736d2339 Add List+Dictionary remove() function 2026-01-09 19:12:27 +02:00
Matt Ellis dc335e5178 Add List insert() function 2026-01-09 19:12:27 +02:00
Matt Ellis 52a1774f11 Add Dictionary has_key() function 2026-01-09 19:12:27 +02:00
Matt Ellis 6f553ec3c0 Add List add() function 2026-01-09 19:12:27 +02:00
Matt Ellis ed50fa28f5 Refactor argument handling for functions 2026-01-09 19:12:27 +02:00
Matt Ellis 0e2349baac Refactor min/max args for function handler 2026-01-09 19:12:27 +02:00
Matt Ellis 12ab94452b Update error message for min and max functions 2026-01-09 19:12:27 +02:00
Matt Ellis fa06644ece Move functions to more appropriate packages 2026-01-09 19:12:27 +02:00
Matt Ellis 11653e22b8 Add list of implemented builtin functions 2026-01-09 19:12:27 +02:00
Alex PlateandClaude Opus 4.5 64dfcdb9fa Remove clean task from PR verification workflow
Allows Gradle caching to be effective.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 19:05:34 +02:00
Alex PlateandClaude Opus 4.5 1935444033 Remove clean task from TeamCity builds to enable Gradle caching
The clean task was invalidating the Gradle cache on each build,
making the caching feature ineffective.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 18:59:22 +02:00
Alex PlateandClaude Opus 4.5 8fea386169 Fix TeamCity build cache paths to use Gradle User Home
The relative paths .gradle/caches and .gradle/wrapper don't exist in the
checkout directory - Gradle stores caches in ~/.gradle/ by default.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 17:30:33 +02:00
Alex PlateandClaude Opus 4.5 eaeb3eeb79 Fix artifact upload paths in PR verification workflow
Remove incorrect ideavim/ prefix from paths - the checkout is at repo root.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 17:22:09 +02:00
Alex PlateandClaude Opus 4.5 642ed628a5 Enable Gradle build cache for release builds
Add --build-cache and --configuration-cache flags to all gradle steps
in ReleaseDev and ReleaseEap builds to match other build configurations.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 17:12:48 +02:00
Alex PlateandClaude Opus 4.5 7d8655a624 Add tests for replace with register inside empty brackets
Tests for VIM-3798: replacing inside empty braces, quotes, parentheses,
and square brackets.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 17:05:42 +02:00
Alex PlateandClaude Opus 4.5 9a8d7eda71 Update TeamCity DSL version to 2025.11
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 17:02:24 +02:00
Alex PlateandClaude Opus 4.5 8595d53983 Remove SlackNotificationTest patch
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 16:59:52 +02:00
Alex PlateandClaude Opus 4.5 799d450886 Update plugin description with more detailed feature information
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 16:53:04 +02:00
Alex PlateandClaude Opus 4.5 b24dd33e3b Temporarily disable macOS UI tests in IJ workflow
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 17:15:59 +02:00
Alex PlateandClaude Opus 4.5 0bdecdc4c2 Fix disk space issues in Linux UI test workflows
Add disk space cleanup and reduce video recording size for Linux runners:
- Add "Free up disk space" step to remove .NET, Android SDK, GHC, CodeQL
- Reduce Xvfb resolution from 1920x1080 to 1280x720
- Optimize ffmpeg: 15fps, ultrafast preset, crf 28

This aligns with the existing Rider Linux workflow settings.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 17:15:59 +02:00
Alex PlateandClaude Sonnet 4.5 63275de20b Add NEOVIM_RPC_SPECIAL_KEYS_INSERT_MODE reason for clearer test documentation
Replace UNCLEAR annotations with a properly documented reason explaining why backspace and other special keys fail in Neovim RPC testing. This makes the limitation clear for future developers and consolidates 8 tests under a single, well-explained reason.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-08 17:15:58 +02:00
claude[bot]andClaude Sonnet 4.5 a52dfa48bf Fix UI test notification dismissal timeout
Replace Thread.sleep() with proper waitFor() conditions and explicitly
dismiss notifications to prevent test timeouts.

The testTrackActionId test was failing because the IdeaVim notification
balloon remained visible after clicking "Stop Tracking", causing a 5-second
timeout when waiting for "Copy Action Id" text to disappear.

Changes:
- Replace Thread.sleep(1000) after clicking "Copy Action Id" with waitFor
  condition that checks for "Stop Tracking" button to appear
- Remove Thread.sleep(1000) after clicking "Stop Tracking"
- Add explicit notification dismissal using Escape key
- Increase timeout for final waitFor to 3 seconds to allow dismissal

This follows the cause-effect principle for UI tests by waiting for
specific UI conditions rather than arbitrary timeouts.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-08 16:54:01 +02:00
Alex PlateandClaude Sonnet 4.5 64eca1ca11 Fix missing dependencies and git staging rule in UI test analysis jobs
Added missing dependencies:
- Java 21 setup (required for compilation verification)
- FFmpeg installation (required for ffprobe video analysis)

Added critical git staging rule to all UI test workflows:
- NEVER use `git add -A` or `git add .` when creating fix branches
- Always add modified files explicitly by path
- This prevents accidentally staging unrelated files that could cause
  push failures due to GitHub App workflow permission restrictions

Affected workflows:
- runUiTestsIJ.yml (unified IntelliJ IDEA tests)
- runUiPyTests.yml (PyCharm macOS tests)
- runUiPyTestsLinux.yml (PyCharm Linux tests)
- runUiRdTests.yml (Rider macOS tests)
- runUiRdTestsLinux.yml (Rider Linux tests)
- runUiOctopusTests.yml (Non-Octopus tests)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-08 07:32:43 +02:00
Alex PlateandClaude Sonnet 4.5 2bf418978a Update PyCharm UI test to handle new startup behavior
PyCharm now opens with a project directly instead of showing the Welcome Frame. Removed the project creation logic and unused imports.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-07 23:36:55 +02:00
Alex PlateandClaude Sonnet 4.5 54ec06ecf2 Fix Gradle cache for macOS Rider and PyCharm UI tests
Add explicit cache-read-only: false to ensure Gradle cache
is properly written and read on macOS builds, matching the
configuration used in the unified IntelliJ workflow.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-07 23:32:36 +02:00