* Implement PgTidyShowVersionAction to show pgtidy version
* Create PgTidyStatusBarWidget for real-time version display
* Update plugin.xml to register new action and widget
* update error handling in various commands to use blank identifier
* enhance output formatting for better readability
* add golangci-lint to Makefile for linting checks
rpmbuild's %build shell cannot reliably access the Go toolchain or
module cache, risking a 'dev' version string. Build the binary on the
runner (where setup-go is active) with the correct -X main.version
ldflags, then package it via rpmbuild as a binary-install RPM.
Spec changes: Source0/1 are now the binary and LICENSE; %install copies
them directly; removed %prep/%build; -bb instead of -ba (no source RPM).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Docker volume mounts in Gitea CI don't expose the runner workspace
correctly, leaving /build empty inside the container. Since the pgtidy
binary is statically linked Go with no shared-lib deps, rpmbuild runs
fine on ubuntu-latest with the rpm package. Drops Docker entirely from
the RPM job.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
go.mod specifies 'go 1.26' (no patch), making the download URL
go1.26.linux-amd64.tar.gz which 404s. Use actions/setup-go on the
runner and bind-mount GOROOT into the rockylinux container read-only,
removing the curl+tar download entirely.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
PKGBUILD expects pgtidy_${pkgver}_linux_{amd64,arm64}.tar.gz containing
the binary and LICENSE. The release job was only uploading plain binaries
(pgtidy-linux-amd64). Now creates tarballs alongside the plain binaries,
uploads both, and updates AUR SHA256 computation to use the tarballs.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Draft releases return 404 on asset downloads, which breaks the AUR
SHA256 computation in pkg-aur. Remove draft:true so assets are publicly
accessible when downstream jobs run.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
If PREV_TAG is a malformed or non-reachable tag name, git log fails
with exit 128 under set -e. Validate with git rev-parse --verify first
and fall back to a full log if it doesn't resolve.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- VSCode: switch from npm ci to pnpm (project uses pnpm-lock.yaml)
- RPM: replace docker create+cp with docker run --rm -v mount to avoid
missing /build directory in rockylinux:9
- AUR: guard PKGBUILD reads with -f check so first publish to an empty
AUR repo defaults pkgrel to 1 instead of crashing
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Advertise DocumentRangeFormattingProvider in server capabilities and
implement rangeFormat: formats the complete document, then returns an
edit covering only the minimal changed-line region that overlaps the
client's selection. Also includes gofmt alignment fixes across lint
and format packages.
* Add formatDML function for formatting top-level DML statements
* Introduce tests for various DML scenarios including SELECT, INSERT, UPDATE, and DELETE
* Enhance printer to handle DML statements correctly
* Implement PgTidyFormatAction to format SQL using pgtidy
* Register action in plugin.xml with keyboard shortcut
* Update dependencies for bundled plugins
* Modify build configuration for Gradle wrapper
* Implement migration safety rules:
- MIG001: Warn on CREATE INDEX without CONCURRENT.
- MIG002: Warn on ALTER TABLE ADD COLUMN NOT NULL without DEFAULT.
- MIG003: Warn on ALTER TABLE ADD CONSTRAINT without NOT VALID.
* Implement naming conventions rules:
- NAM001: Warn on non-snake_case table names.
- NAM002: Warn on non-snake_case column names in CREATE TABLE.
- NAM003: Warn on non-snake_case function names.
* Add test fixtures for all new rules.
* Implemented `-d`/`--diff` flag to print unified diffs.
* Added `unifiedDiff` function for generating diffs.
* Config discovery now merges fields from `.pgtidy.yaml`.
* Implemented formatting for BEGIN...END blocks in PL/pgSQL.
* Added logic to handle indentation and blank lines.
* Introduced tests for broken formatting cases.
* add formatBody and formatBodyInner functions for DECLARE section
* update needSpace to handle LBracket correctly
* enhance semanticallyEqual to compare dollar-quoted bodies
* add test data for broken layout scenarios