Compare commits
4 Commits
fix-detach
...
eeb4e44367
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
eeb4e44367 | ||
|
|
c3574de9bc | ||
|
|
01164c6d8b | ||
| f2f3b1812a |
220
chroma.log
Normal file
220
chroma.log
Normal file
@@ -0,0 +1,220 @@
|
||||
INFO: [15-04-2025 11:08:19] Set chroma_server_nofile to 65535
|
||||
DEBUG: [15-04-2025 11:08:19] Starting component System
|
||||
DEBUG: [15-04-2025 11:08:19] Starting component OpenTelemetryClient
|
||||
DEBUG: [15-04-2025 11:08:19] Starting component SqliteDB
|
||||
DEBUG: [15-04-2025 11:08:19] Starting component SimpleQuotaEnforcer
|
||||
DEBUG: [15-04-2025 11:08:19] Starting component Posthog
|
||||
DEBUG: [15-04-2025 11:08:19] Starting component SimpleRateLimitEnforcer
|
||||
DEBUG: [15-04-2025 11:08:19] Starting component LocalSegmentManager
|
||||
DEBUG: [15-04-2025 11:08:19] Starting component LocalExecutor
|
||||
DEBUG: [15-04-2025 11:08:19] Starting component SegmentAPI
|
||||
DEBUG: [15-04-2025 11:08:19] Starting component SimpleAsyncRateLimitEnforcer
|
||||
INFO: [15-04-2025 11:08:20] Started server process [20213]
|
||||
INFO: [15-04-2025 11:08:20] Waiting for application startup.
|
||||
INFO: [15-04-2025 11:08:20] Application startup complete.
|
||||
INFO: [15-04-2025 11:08:20] Uvicorn running on http://localhost:54131 (Press CTRL+C to quit)
|
||||
INFO: [15-04-2025 11:08:20] 127.0.0.1:54158 - "GET /api/v1/heartbeat HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:08:20] 127.0.0.1:54160 - "GET /api/v2/auth/identity HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:08:20] 127.0.0.1:54160 - "GET /api/v2/tenants/default_tenant HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:08:20] 127.0.0.1:54160 - "GET /api/v2/tenants/default_tenant/databases/default_database?tenant=default_tenant HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:08:49] Shutting down
|
||||
INFO: [15-04-2025 11:08:49] Waiting for application shutdown.
|
||||
DEBUG: [15-04-2025 11:08:49] Stopping component System
|
||||
DEBUG: [15-04-2025 11:08:49] Stopping component SegmentAPI
|
||||
DEBUG: [15-04-2025 11:08:49] Stopping component LocalExecutor
|
||||
DEBUG: [15-04-2025 11:08:49] Stopping component LocalSegmentManager
|
||||
DEBUG: [15-04-2025 11:08:49] Stopping component SimpleAsyncRateLimitEnforcer
|
||||
DEBUG: [15-04-2025 11:08:49] Stopping component SimpleRateLimitEnforcer
|
||||
DEBUG: [15-04-2025 11:08:49] Stopping component Posthog
|
||||
DEBUG: [15-04-2025 11:08:49] Stopping component SimpleQuotaEnforcer
|
||||
DEBUG: [15-04-2025 11:08:49] Stopping component SqliteDB
|
||||
DEBUG: [15-04-2025 11:08:49] Stopping component OpenTelemetryClient
|
||||
INFO: [15-04-2025 11:08:49] Application shutdown complete.
|
||||
INFO: [15-04-2025 11:08:49] Finished server process [20213]
|
||||
INFO: [15-04-2025 11:53:31] Set chroma_server_nofile to 65535
|
||||
DEBUG: [15-04-2025 11:53:31] Starting component System
|
||||
DEBUG: [15-04-2025 11:53:31] Starting component OpenTelemetryClient
|
||||
DEBUG: [15-04-2025 11:53:31] Starting component SqliteDB
|
||||
DEBUG: [15-04-2025 11:53:31] Starting component SimpleQuotaEnforcer
|
||||
DEBUG: [15-04-2025 11:53:31] Starting component Posthog
|
||||
DEBUG: [15-04-2025 11:53:31] Starting component SimpleRateLimitEnforcer
|
||||
DEBUG: [15-04-2025 11:53:31] Starting component LocalSegmentManager
|
||||
DEBUG: [15-04-2025 11:53:31] Starting component LocalExecutor
|
||||
DEBUG: [15-04-2025 11:53:31] Starting component SegmentAPI
|
||||
DEBUG: [15-04-2025 11:53:31] Starting component SimpleAsyncRateLimitEnforcer
|
||||
INFO: [15-04-2025 11:53:31] Started server process [21405]
|
||||
INFO: [15-04-2025 11:53:31] Waiting for application startup.
|
||||
INFO: [15-04-2025 11:53:31] Application startup complete.
|
||||
INFO: [15-04-2025 11:53:31] Uvicorn running on http://localhost:61221 (Press CTRL+C to quit)
|
||||
INFO: [15-04-2025 11:53:31] 127.0.0.1:61237 - "GET /api/v1/heartbeat HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:31] 127.0.0.1:61239 - "GET /api/v2/auth/identity HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:31] 127.0.0.1:61239 - "GET /api/v2/tenants/default_tenant HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:31] 127.0.0.1:61239 - "GET /api/v2/tenants/default_tenant/databases/default_database?tenant=default_tenant HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:48] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:48] 127.0.0.1:61314 - "GET /api/v2/pre-flight-checks HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:48] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/get HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:48] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/get HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:48] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/get HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:48] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/get HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:48] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/get HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:48] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/get HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:48] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/get HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:48] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/get HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:48] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/get HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:48] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/get HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:48] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/get HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:48] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/get HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:48] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/get HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:48] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/get HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:48] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/get HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:48] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/get HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:48] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/get HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:48] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/get HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:48] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/get HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:48] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/get HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:48] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/get HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:48] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/get HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:48] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/get HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:48] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/get HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:48] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/get HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:48] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/get HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:48] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/get HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:48] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/get HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:48] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/get HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:48] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/get HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:48] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/get HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/get HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/get HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/get HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/get HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/get HTTP/1.1" 200
|
||||
DEBUG: [15-04-2025 11:53:49] Starting component PersistentLocalHnswSegment
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/add HTTP/1.1" 201
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/add HTTP/1.1" 201
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/add HTTP/1.1" 201
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/add HTTP/1.1" 201
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/add HTTP/1.1" 201
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/add HTTP/1.1" 201
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/add HTTP/1.1" 201
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/add HTTP/1.1" 201
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/add HTTP/1.1" 201
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/add HTTP/1.1" 201
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/add HTTP/1.1" 201
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/add HTTP/1.1" 201
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/add HTTP/1.1" 201
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/add HTTP/1.1" 201
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/add HTTP/1.1" 201
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/add HTTP/1.1" 201
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/add HTTP/1.1" 201
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/add HTTP/1.1" 201
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/add HTTP/1.1" 201
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/add HTTP/1.1" 201
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/add HTTP/1.1" 201
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/add HTTP/1.1" 201
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/add HTTP/1.1" 201
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/add HTTP/1.1" 201
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/add HTTP/1.1" 201
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/add HTTP/1.1" 201
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/add HTTP/1.1" 201
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/add HTTP/1.1" 201
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/add HTTP/1.1" 201
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/add HTTP/1.1" 201
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/add HTTP/1.1" 201
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/add HTTP/1.1" 201
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/add HTTP/1.1" 201
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/add HTTP/1.1" 201
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/add HTTP/1.1" 201
|
||||
INFO: [15-04-2025 11:53:49] 127.0.0.1:61314 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/get HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:53:49] Shutting down
|
||||
INFO: [15-04-2025 11:53:49] Waiting for application shutdown.
|
||||
DEBUG: [15-04-2025 11:53:49] Stopping component System
|
||||
DEBUG: [15-04-2025 11:53:49] Stopping component SegmentAPI
|
||||
DEBUG: [15-04-2025 11:53:49] Stopping component LocalExecutor
|
||||
DEBUG: [15-04-2025 11:53:49] Stopping component PersistentLocalHnswSegment
|
||||
DEBUG: [15-04-2025 11:53:49] Stopping component LocalSegmentManager
|
||||
DEBUG: [15-04-2025 11:53:49] Stopping component SimpleAsyncRateLimitEnforcer
|
||||
DEBUG: [15-04-2025 11:53:49] Stopping component SimpleRateLimitEnforcer
|
||||
DEBUG: [15-04-2025 11:53:49] Stopping component Posthog
|
||||
DEBUG: [15-04-2025 11:53:49] Stopping component SimpleQuotaEnforcer
|
||||
DEBUG: [15-04-2025 11:53:49] Stopping component SqliteDB
|
||||
DEBUG: [15-04-2025 11:53:49] Stopping component OpenTelemetryClient
|
||||
INFO: [15-04-2025 11:53:49] Application shutdown complete.
|
||||
INFO: [15-04-2025 11:53:49] Finished server process [21405]
|
||||
INFO: [15-04-2025 11:54:12] Set chroma_server_nofile to 65535
|
||||
DEBUG: [15-04-2025 11:54:12] Starting component System
|
||||
DEBUG: [15-04-2025 11:54:12] Starting component OpenTelemetryClient
|
||||
DEBUG: [15-04-2025 11:54:12] Starting component SqliteDB
|
||||
DEBUG: [15-04-2025 11:54:12] Starting component SimpleQuotaEnforcer
|
||||
DEBUG: [15-04-2025 11:54:12] Starting component Posthog
|
||||
DEBUG: [15-04-2025 11:54:12] Starting component SimpleRateLimitEnforcer
|
||||
DEBUG: [15-04-2025 11:54:12] Starting component LocalSegmentManager
|
||||
DEBUG: [15-04-2025 11:54:12] Starting component LocalExecutor
|
||||
DEBUG: [15-04-2025 11:54:12] Starting component SegmentAPI
|
||||
DEBUG: [15-04-2025 11:54:12] Starting component SimpleAsyncRateLimitEnforcer
|
||||
INFO: [15-04-2025 11:54:12] Started server process [21526]
|
||||
INFO: [15-04-2025 11:54:12] Waiting for application startup.
|
||||
INFO: [15-04-2025 11:54:12] Application startup complete.
|
||||
INFO: [15-04-2025 11:54:12] Uvicorn running on http://localhost:61415 (Press CTRL+C to quit)
|
||||
INFO: [15-04-2025 11:54:12] 127.0.0.1:61431 - "GET /api/v1/heartbeat HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:54:12] 127.0.0.1:61433 - "GET /api/v2/auth/identity HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:54:12] 127.0.0.1:61433 - "GET /api/v2/tenants/default_tenant HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:54:12] 127.0.0.1:61433 - "GET /api/v2/tenants/default_tenant/databases/default_database?tenant=default_tenant HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:54:16] 127.0.0.1:61433 - "GET /api/v2/tenants/default_tenant/databases/default_database/collections/2464dff91bf19cf59711c4ad9589d971881dee3b4724247c204882ed9a916c7 HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:54:16] 127.0.0.1:61433 - "GET /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/count HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:54:16] 127.0.0.1:61433 - "GET /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/count HTTP/1.1" 200
|
||||
DEBUG: [15-04-2025 11:54:16] Starting component PersistentLocalHnswSegment
|
||||
INFO: [15-04-2025 11:54:16] 127.0.0.1:61433 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/query HTTP/1.1" 200
|
||||
INFO: [15-04-2025 11:54:31] Shutting down
|
||||
INFO: [15-04-2025 11:54:31] Waiting for application shutdown.
|
||||
DEBUG: [15-04-2025 11:54:31] Stopping component System
|
||||
DEBUG: [15-04-2025 11:54:31] Stopping component SegmentAPI
|
||||
DEBUG: [15-04-2025 11:54:31] Stopping component LocalExecutor
|
||||
DEBUG: [15-04-2025 11:54:31] Stopping component PersistentLocalHnswSegment
|
||||
DEBUG: [15-04-2025 11:54:31] Stopping component LocalSegmentManager
|
||||
DEBUG: [15-04-2025 11:54:31] Stopping component SimpleAsyncRateLimitEnforcer
|
||||
DEBUG: [15-04-2025 11:54:31] Stopping component SimpleRateLimitEnforcer
|
||||
DEBUG: [15-04-2025 11:54:31] Stopping component Posthog
|
||||
DEBUG: [15-04-2025 11:54:31] Stopping component SimpleQuotaEnforcer
|
||||
DEBUG: [15-04-2025 11:54:31] Stopping component SqliteDB
|
||||
DEBUG: [15-04-2025 11:54:31] Stopping component OpenTelemetryClient
|
||||
INFO: [15-04-2025 11:54:31] Application shutdown complete.
|
||||
INFO: [15-04-2025 11:54:31] Finished server process [21526]
|
||||
INFO: [15-04-2025 12:59:41] Set chroma_server_nofile to 65535
|
||||
DEBUG: [15-04-2025 12:59:41] Starting component System
|
||||
DEBUG: [15-04-2025 12:59:41] Starting component OpenTelemetryClient
|
||||
DEBUG: [15-04-2025 12:59:41] Starting component SqliteDB
|
||||
DEBUG: [15-04-2025 12:59:41] Starting component SimpleQuotaEnforcer
|
||||
DEBUG: [15-04-2025 12:59:41] Starting component Posthog
|
||||
DEBUG: [15-04-2025 12:59:41] Starting component SimpleRateLimitEnforcer
|
||||
DEBUG: [15-04-2025 12:59:41] Starting component LocalSegmentManager
|
||||
DEBUG: [15-04-2025 12:59:41] Starting component LocalExecutor
|
||||
DEBUG: [15-04-2025 12:59:41] Starting component SegmentAPI
|
||||
DEBUG: [15-04-2025 12:59:41] Starting component SimpleAsyncRateLimitEnforcer
|
||||
INFO: [15-04-2025 12:59:41] Started server process [24842]
|
||||
INFO: [15-04-2025 12:59:41] Waiting for application startup.
|
||||
INFO: [15-04-2025 12:59:41] Application startup complete.
|
||||
INFO: [15-04-2025 12:59:41] Uvicorn running on http://localhost:62331 (Press CTRL+C to quit)
|
||||
INFO: [15-04-2025 12:59:41] 127.0.0.1:62346 - "GET /api/v1/heartbeat HTTP/1.1" 200
|
||||
INFO: [15-04-2025 12:59:41] 127.0.0.1:62348 - "GET /api/v2/auth/identity HTTP/1.1" 200
|
||||
INFO: [15-04-2025 12:59:41] 127.0.0.1:62348 - "GET /api/v2/tenants/default_tenant HTTP/1.1" 200
|
||||
INFO: [15-04-2025 12:59:41] 127.0.0.1:62348 - "GET /api/v2/tenants/default_tenant/databases/default_database?tenant=default_tenant HTTP/1.1" 200
|
||||
INFO: [15-04-2025 12:59:46] 127.0.0.1:62348 - "GET /api/v2/tenants/default_tenant/databases/default_database/collections/2464dff91bf19cf59711c4ad9589d971881dee3b4724247c204882ed9a916c7 HTTP/1.1" 200
|
||||
INFO: [15-04-2025 12:59:46] 127.0.0.1:62348 - "GET /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/count HTTP/1.1" 200
|
||||
INFO: [15-04-2025 12:59:46] 127.0.0.1:62348 - "GET /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/count HTTP/1.1" 200
|
||||
DEBUG: [15-04-2025 12:59:46] Starting component PersistentLocalHnswSegment
|
||||
INFO: [15-04-2025 12:59:46] 127.0.0.1:62348 - "POST /api/v2/tenants/default_tenant/databases/default_database/collections/79ccccf4-e887-41d8-b859-69da50490f8c/query HTTP/1.1" 200
|
||||
INFO: [15-04-2025 12:59:49] Shutting down
|
||||
INFO: [15-04-2025 12:59:49] Waiting for application shutdown.
|
||||
DEBUG: [15-04-2025 12:59:49] Stopping component System
|
||||
DEBUG: [15-04-2025 12:59:49] Stopping component SegmentAPI
|
||||
DEBUG: [15-04-2025 12:59:49] Stopping component LocalExecutor
|
||||
DEBUG: [15-04-2025 12:59:49] Stopping component PersistentLocalHnswSegment
|
||||
DEBUG: [15-04-2025 12:59:49] Stopping component LocalSegmentManager
|
||||
DEBUG: [15-04-2025 12:59:49] Stopping component SimpleAsyncRateLimitEnforcer
|
||||
DEBUG: [15-04-2025 12:59:49] Stopping component SimpleRateLimitEnforcer
|
||||
DEBUG: [15-04-2025 12:59:49] Stopping component Posthog
|
||||
DEBUG: [15-04-2025 12:59:49] Stopping component SimpleQuotaEnforcer
|
||||
DEBUG: [15-04-2025 12:59:49] Stopping component SqliteDB
|
||||
DEBUG: [15-04-2025 12:59:49] Stopping component OpenTelemetryClient
|
||||
INFO: [15-04-2025 12:59:49] Application shutdown complete.
|
||||
INFO: [15-04-2025 12:59:49] Finished server process [24842]
|
||||
114
codecompanion-workspace.json
Normal file
114
codecompanion-workspace.json
Normal file
@@ -0,0 +1,114 @@
|
||||
{
|
||||
"name": "Neovim Configuration",
|
||||
"version": "1.0.0",
|
||||
"system_prompt": "You are an expert Neovim configuration assistant. Help the user understand and modify their Neovim setup. Focus on clear explanations and suggest improvements when appropriate.",
|
||||
"vars": {
|
||||
"lua_dir": "lua"
|
||||
},
|
||||
"groups": [
|
||||
{
|
||||
"name": "Core Configuration",
|
||||
"system_prompt": "These files define the core Neovim behavior including options, keymaps, and autocommands. When suggesting changes, ensure they align with Neovim best practices.",
|
||||
"data": [
|
||||
"core_opt",
|
||||
"core_keymap",
|
||||
"core_autocmd",
|
||||
"core_helpers"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Plugin Management",
|
||||
"system_prompt": "This file contains the plugin manager setup. Help the user understand plugin dependencies and installation patterns.",
|
||||
"data": [
|
||||
"lazy_init"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "LSP Configuration",
|
||||
"system_prompt": "These files define the Language Server Protocol setup. Help the user configure language servers, diagnostics, and code actions.",
|
||||
"data": [
|
||||
"lsp_config"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Frequently Used Plugins",
|
||||
"system_prompt": "These are plugins the user frequently configures. Provide detailed explanations about their options and how they interact with the rest of the configuration.",
|
||||
"data": [
|
||||
"plugin_codecompanion",
|
||||
"plugin_edgy",
|
||||
"plugin_snacks",
|
||||
"plugin_mini",
|
||||
"plugin_telescope"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "UI and Theme",
|
||||
"system_prompt": "These files define the visual appearance of Neovim. Help the user understand how to customize colors and UI elements.",
|
||||
"data": [
|
||||
"plugin_colorscheme"
|
||||
]
|
||||
}
|
||||
],
|
||||
"data": {
|
||||
"core_opt": {
|
||||
"type": "file",
|
||||
"path": "${lua_dir}/opt.lua",
|
||||
"description": "Neovim options configuration"
|
||||
},
|
||||
"core_keymap": {
|
||||
"type": "file",
|
||||
"path": "${lua_dir}/keymap.lua",
|
||||
"description": "Key mappings configuration"
|
||||
},
|
||||
"core_autocmd": {
|
||||
"type": "file",
|
||||
"path": "${lua_dir}/autocmd.lua",
|
||||
"description": "Automatic commands configuration"
|
||||
},
|
||||
"core_helpers": {
|
||||
"type": "file",
|
||||
"path": "${lua_dir}/helpers.lua",
|
||||
"description": "Helper functions for Neovim configuration"
|
||||
},
|
||||
"lazy_init": {
|
||||
"type": "file",
|
||||
"path": "${lua_dir}/lazy_init.lua",
|
||||
"description": "Lazy plugin manager initialization"
|
||||
},
|
||||
"lsp_config": {
|
||||
"type": "file",
|
||||
"path": "${lua_dir}/plugins/lsp.lua",
|
||||
"description": "LSP plugins and configuration"
|
||||
},
|
||||
"plugin_codecompanion": {
|
||||
"type": "file",
|
||||
"path": "${lua_dir}/plugins/codecompanion.lua",
|
||||
"description": "CodeCompanion plugin configuration"
|
||||
},
|
||||
"plugin_edgy": {
|
||||
"type": "file",
|
||||
"path": "${lua_dir}/plugins/edgy.lua",
|
||||
"description": "Edgy plugin configuration"
|
||||
},
|
||||
"plugin_snacks": {
|
||||
"type": "file",
|
||||
"path": "${lua_dir}/plugins/snacks.lua",
|
||||
"description": "Snacks plugin configuration"
|
||||
},
|
||||
"plugin_mini": {
|
||||
"type": "file",
|
||||
"path": "${lua_dir}/plugins/mini.lua",
|
||||
"description": "Mini plugins configuration"
|
||||
},
|
||||
"plugin_telescope": {
|
||||
"type": "file",
|
||||
"path": "${lua_dir}/plugins/telescope.lua",
|
||||
"description": "Telescope fuzzy finder configuration"
|
||||
},
|
||||
"plugin_colorscheme": {
|
||||
"type": "file",
|
||||
"path": "${lua_dir}/plugins/color.lua",
|
||||
"description": "Color scheme and UI appearance configuration"
|
||||
}
|
||||
}
|
||||
}
|
||||
248
init.lua
248
init.lua
@@ -12,219 +12,6 @@ require 'keymap'
|
||||
require 'autocmd'
|
||||
require 'lazy_init'
|
||||
|
||||
-- nnoremap <Leader>ev :tabedit $MYVIMRC<CR>
|
||||
|
||||
-- The line beneath this is called `modeline`. See `:help modeline`
|
||||
-- vim: ts=2 sts=2 sw=2 et
|
||||
|
||||
-- " Mappings --- {{{
|
||||
-- " Editing files - {{{
|
||||
-- "Make it easy to edit the vimrc file
|
||||
-- " }}}
|
||||
--
|
||||
-- "Changing unused ctrl bindings
|
||||
-- "Turn on git blame
|
||||
-- nnoremap <C-S-A> <CMD>Git blame<CR>
|
||||
-- "List all tags in the current buffer (replaced pageup, use CTRL-u instead)
|
||||
-- nnoremap <C-Q> <CMD>CocFzfList outline<CR>
|
||||
-- "List all tags in directory
|
||||
-- "nnoremap <C-S-B> <CMD>Tags<CR>
|
||||
-- "List all the recently opened files (replaced scroll one line up, use "k")
|
||||
-- nnoremap <C-E> <CMD>History<CR>
|
||||
-- "Search within the current buffer (replaced pagedown, use CTRL-d instead)
|
||||
-- "nnoremap <C-F> /
|
||||
-- "Search within the whole project
|
||||
-- nnoremap <C-F> <CMD>Rg<CR>
|
||||
-- "Move line down (uses vim-unimpaired) (replaced move down, use "j")
|
||||
-- nnoremap <C-J> <C-E>
|
||||
-- "Move line up (uses vim-unimpaired) (replaced move up, use "k")
|
||||
-- nnoremap <C-K> <C-Y>
|
||||
-- "Does not work because of legacy reasons
|
||||
-- " nnoremap <C-M>
|
||||
-- "Search marks (replaced "j" clone)
|
||||
-- nnoremap <C-N> <CMD>Marks<CR>
|
||||
-- "Search version controlled files (replaced move up, use "k")
|
||||
-- nnoremap <C-P> <CMD>GFiles<CR>
|
||||
-- "Search all files in directory
|
||||
-- nnoremap <C-S-P> <CMD>Files<CR>
|
||||
-- "Toggle file draw
|
||||
-- nnoremap <C-S-Q> <CMD>CHADopen<CR>
|
||||
-- "Search all snippets (uses ultisnips)
|
||||
-- nnoremap <C-S> <CMD>Snippets<CR>
|
||||
-- "Search git history (replaced scroll one line up, use "k")
|
||||
-- nnoremap <C-Y> <CMD>Commits<CR>
|
||||
-- "Search git history within current buffer/selection
|
||||
-- nnoremap <C-S-Y> <CMD>BCommits<CR>
|
||||
--
|
||||
-- "Turn on git blame
|
||||
-- inoremap <C-S-A> <CMD>Git blame<CR>
|
||||
-- "List all tags in the current buffer
|
||||
-- inoremap <C-Q> <CMD>BTags<CR>
|
||||
-- "List all tags in directory
|
||||
-- inoremap <C-S-Q> <CMD>Tags<CR>
|
||||
-- "List all the recently opened files (replaced inserting characters from below)
|
||||
-- inoremap <C-E> <CMD>History<CR>
|
||||
-- "Search within the current buffer
|
||||
-- inoremap <C-F> <Esc>/
|
||||
-- "Search within the whole project
|
||||
-- inoremap <C-S-F> <CMD>Rg<CR>
|
||||
-- "Move line down (uses vim-unimpaired) (replaced <CR> clone)
|
||||
-- inoremap <C-J> <Esc>ddpi
|
||||
-- "Move line up (uses vim-unimpaired) (replaced start digraph, use command instead)
|
||||
-- inoremap <C-K> <Esc>ddkPi
|
||||
-- "Does not work because of legacy reasons
|
||||
-- " inoremap <C-M> <CMD>Marks<CR>
|
||||
-- "Add line below (replaced execute single command in normal)
|
||||
-- inoremap <C-O> <Esc>o
|
||||
-- "Add line above
|
||||
-- inoremap <C-S-O> <Esc>O
|
||||
-- "Search version controlled files (replaced autocomplete reverse)
|
||||
-- inoremap <C-P> <CMD>GFiles<CR>
|
||||
-- "Search all files in directory
|
||||
-- inoremap <C-S-P> <CMD>Files<CR>
|
||||
-- "Toggle file draw (replaces CTRL-v clone)
|
||||
-- inoremap <C-S-Q> <CMD>CHADopen<CR>
|
||||
-- "Search all snippets (uses ultisnips)
|
||||
-- inoremap <C-S> <CMD>Snippets<CR>
|
||||
-- "Search git history (replaced inserting characters from above)
|
||||
-- inoremap <C-Y> <CMD>Commits<CR>
|
||||
-- "Search git history within current buffer/selection
|
||||
-- inoremap <C-S-Y> <CMD>BCommits<CR>
|
||||
--
|
||||
-- "Add simple highlight removal
|
||||
-- nnoremap <Leader><Space> :nohlsearch<CR>
|
||||
--
|
||||
-- "Convert tabs to spaces
|
||||
-- nnoremap <Leader><Tab> :retab<CR>
|
||||
--
|
||||
-- "Git mappings
|
||||
-- nnoremap ga :Git add %<CR>
|
||||
-- nnoremap gb :Git blame<CR>
|
||||
-- nnoremap gC :Git commit<CR>
|
||||
-- nnoremap gp :Git push<CR>
|
||||
-- nnoremap gP :Git pull<CR>
|
||||
--
|
||||
-- "Map movement keys to Escape
|
||||
-- inoremap jj <Esc>
|
||||
-- inoremap jk <Esc>
|
||||
-- inoremap kk <Esc>
|
||||
-- inoremap hh <Esc>
|
||||
--
|
||||
-- "Delete a line in insert mode
|
||||
-- " inoremap <C-D> <Esc>ddi
|
||||
--
|
||||
-- "Use semicolon instead of colon for commands
|
||||
-- nnoremap ; :
|
||||
-- nnoremap : ;
|
||||
--
|
||||
-- "Append the line with a semicolon
|
||||
-- inoremap <Leader>; <Esc>mzA;<Esc>`za
|
||||
-- nnoremap <Leader>; mzA;<Esc>`za<Esc>
|
||||
--
|
||||
-- "Easily navigate items in the quickfix menu
|
||||
-- nnoremap <Leader>] :cnext<CR>
|
||||
-- nnoremap <Leader>[ :cprevious<CR>
|
||||
--
|
||||
-- "Indent arrays
|
||||
-- nnoremap <Leader>{ mzF[`a<CR><Esc>``%i<CR><Esc>`z
|
||||
-- nnoremap <Leader>} mzF[`a<CR><Esc>``%i<CR><Esc>`zvi[:s/,\s*/,\r/g<CR>vi[=<Esc>`z:nohlsearch<CR>
|
||||
--
|
||||
-- "A command to properly indent json code
|
||||
-- command! FormatJSON %!python -m json.tool
|
||||
--
|
||||
-- " Allow saving of files as doas
|
||||
-- command! W execute 'silent! w !doas /usr/bin/tee % >/dev/null' <BAR> edit!
|
||||
-- command! X execute 'silent! x !doas /usr/bin/tee % >/dev/null' <BAR> edit!
|
||||
--
|
||||
-- " }}}
|
||||
--
|
||||
-- " Plugins --- {{{
|
||||
--
|
||||
-- " COC --- {{{
|
||||
-- " Use tab for trigger completion with characters ahead and navigate
|
||||
-- " NOTE: There's always complete item selected by default, you may want to enable
|
||||
-- " no select by `"suggest.noselect": true` in your configuration file
|
||||
-- " NOTE: Use command ':verbose imap <tab>' to make sure tab is not mapped by
|
||||
-- " other plugin before putting this into your config
|
||||
-- inoremap <silent><expr> <TAB>
|
||||
-- \ coc#pum#visible() ? coc#pum#next(1) :
|
||||
-- \ CheckBackspace() ? "\<Tab>" :
|
||||
-- \ coc#refresh()
|
||||
-- inoremap <expr><S-TAB> coc#pum#visible() ? coc#pum#prev(1) : "\<C-h>"
|
||||
--
|
||||
-- " Make <CR> to accept selected completion item or notify coc.nvim to format
|
||||
-- " <C-g>u breaks current undo, please make your own choice
|
||||
-- inoremap <silent><expr> <CR> coc#pum#visible() ? coc#pum#confirm()
|
||||
-- \: "\<C-g>u\<CR>\<c-r>=coc#on_enter()\<CR>"
|
||||
--
|
||||
-- function! CheckBackspace() abort
|
||||
-- let col = col('.') - 1
|
||||
-- return !col || getline('.')[col - 1] =~# '\s'
|
||||
-- endfunction
|
||||
--
|
||||
-- if has('nvim')
|
||||
-- inoremap <silent><expr> <c-space> coc#refresh()
|
||||
-- else
|
||||
-- inoremap <silent><expr> <c-@> coc#refresh()
|
||||
-- endif
|
||||
--
|
||||
-- " Use `[g` and `]g` to navigate diagnostics
|
||||
-- " Use `:CocDiagnostics` to get all diagnostics of current buffer in location list
|
||||
-- nmap <silent> [g <Plug>(coc-diagnostic-prev)
|
||||
-- nmap <silent> ]g <Plug>(coc-diagnostic-next)
|
||||
--
|
||||
-- " GoTo code navigation
|
||||
-- nmap <silent> gd <Plug>(coc-definition)
|
||||
-- nmap <silent> gy <Plug>(coc-type-definition)
|
||||
-- nmap <silent> gi <Plug>(coc-implementation)
|
||||
-- nmap <silent> gr <Plug>(coc-references)
|
||||
--
|
||||
-- " Use K to show documentation in preview window
|
||||
-- nnoremap <silent> K :call ShowDocumentation()<CR>
|
||||
--
|
||||
-- function! ShowDocumentation()
|
||||
-- if CocAction('hasProvider', 'hover')
|
||||
-- call CocActionAsync('doHover')
|
||||
-- else
|
||||
-- call feedkeys('K', 'in')
|
||||
-- endif
|
||||
-- endfunction
|
||||
--
|
||||
-- " Highlight the symbol and its references when holding the cursor
|
||||
-- autocmd CursorHold * silent call CocActionAsync('highlight')
|
||||
--
|
||||
-- " Symbol renaming
|
||||
-- nmap <leader>rn <Plug>(coc-rename)
|
||||
--
|
||||
-- " Formatting selected code
|
||||
-- xmap <leader>f <Plug>(coc-format-selected)
|
||||
-- nmap <leader>f <Plug>(coc-format-selected)
|
||||
--
|
||||
-- augroup mygroup
|
||||
-- autocmd!
|
||||
-- " Setup formatexpr specified filetype(s)
|
||||
-- autocmd FileType typescript,json setl formatexpr=CocAction('formatSelected')
|
||||
-- " Update signature help on jump placeholder
|
||||
-- autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp')
|
||||
-- augroup end
|
||||
--
|
||||
-- " Applying code actions to the selected code block
|
||||
-- " Example: `<leader>aap` for current paragraph
|
||||
-- xmap <leader>a <Plug>(coc-codeaction-selected)
|
||||
-- nmap <leader>a <Plug>(coc-codeaction-selected)
|
||||
--
|
||||
-- " Remap keys for applying code actions at the cursor position
|
||||
-- nmap <leader>ac <Plug>(coc-codeaction-cursor)
|
||||
-- " Remap keys for apply code actions affect whole buffer
|
||||
-- nmap <leader>as <Plug>(coc-codeaction-source)
|
||||
-- " Apply the most preferred quickfix action to fix diagnostic on the current line
|
||||
-- nmap <leader>qf <Plug>(coc-fix-current)
|
||||
--
|
||||
-- " Remap keys for applying refactor code actions
|
||||
-- nmap <silent> <leader>re <Plug>(coc-codeaction-refactor)
|
||||
-- xmap <silent> <leader>r <Plug>(coc-codeaction-refactor-selected)
|
||||
-- nmap <silent> <leader>r <Plug>(coc-codeaction-refactor-selected)
|
||||
--
|
||||
-- " Run the Code Lens action on the current line
|
||||
-- nmap <leader>cl <Plug>(coc-codelens-action)
|
||||
--
|
||||
@@ -426,41 +213,6 @@ require 'lazy_init'
|
||||
--
|
||||
-- " Auto-Commands --- {{{
|
||||
--
|
||||
-- "Automatically source the config files on save.
|
||||
-- augroup autosourcing
|
||||
-- autocmd!
|
||||
-- autocmd BufWritePost $MYVIMRC source % "Source the vimrc file
|
||||
-- augroup END
|
||||
--
|
||||
-- "Fold vimrc and zshrc files on open
|
||||
-- augroup autofolding
|
||||
-- autocmd!
|
||||
-- autocmd BufReadPost $MYVIMRC :setlocal foldlevelstart=0
|
||||
-- autocmd FileType vim setlocal foldmethod=marker
|
||||
-- autocmd BufReadPost zsh :setlocal foldlevelstart=0
|
||||
-- autocmd FileType zsh setlocal foldmethod=marker
|
||||
-- augroup END
|
||||
--
|
||||
-- "Set commentary formats
|
||||
-- function s:setcommentary()
|
||||
-- if &commentstring =~ '/\*\s*%s\s*\*/'
|
||||
-- let b:commentary_format="// %s"
|
||||
-- endif
|
||||
-- endfunction
|
||||
--
|
||||
-- augroup autocomment
|
||||
-- autocmd!
|
||||
-- autocmd FileType * call <SID>setcommentary()
|
||||
-- augroup END
|
||||
--
|
||||
-- "Automatically save files
|
||||
-- augroup autosaving
|
||||
-- autocmd!
|
||||
-- autocmd FocusLost * silent! wa "Save all files when moving away from the window
|
||||
-- autocmd InsertLeave * silent! wa "Save all files when leaving insert mode
|
||||
-- autocmd TextChanged * silent! wa "Save all files when text is changed
|
||||
-- augroup END
|
||||
--
|
||||
-- augroup modes
|
||||
-- autocmd!
|
||||
-- autocmd FocusLost * call feedkeys("\<Esc>") "Go to normal mode when moving away
|
||||
|
||||
@@ -12,4 +12,63 @@ vim.api.nvim_create_autocmd('TextYankPost', {
|
||||
end,
|
||||
})
|
||||
|
||||
local autosave_group = vim.api.nvim_create_augroup('autosaving', { clear = true })
|
||||
|
||||
vim.api.nvim_create_autocmd('FocusLost', {
|
||||
group = autosave_group,
|
||||
pattern = '*',
|
||||
command = 'silent! wa', -- Save all files when moving away from the window
|
||||
})
|
||||
|
||||
-- vim.api.nvim_create_autocmd('InsertLeave', {
|
||||
-- group = autosave_group,
|
||||
-- pattern = '*',
|
||||
-- command = 'silent! wa', -- Save all files when leaving insert mode
|
||||
-- })
|
||||
|
||||
-- vim.api.nvim_create_autocmd('TextChanged', {
|
||||
-- group = autosave_group,
|
||||
-- pattern = '*',
|
||||
-- command = 'silent! wa', -- Save all files when text is changed
|
||||
-- })
|
||||
|
||||
vim.api.nvim_create_autocmd("User", {
|
||||
pattern = "OilActionsPost",
|
||||
callback = function(event)
|
||||
if event.data.actions.type == "move" then
|
||||
Snacks.rename.on_rename_file(event.data.actions.src_url, event.data.actions.dest_url)
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
|
||||
|
||||
local fidget_group = vim.api.nvim_create_augroup("CodeCompanionFidgetHooks", { clear = true })
|
||||
|
||||
vim.api.nvim_create_autocmd({ "User" }, {
|
||||
pattern = "CodeCompanionRequestStarted",
|
||||
group = fidget_group,
|
||||
callback = function(event)
|
||||
local FidgetHelper = require('utils.fidget_helper')
|
||||
-- Pass event instead of request if the callback receives the full event object
|
||||
local handle = FidgetHelper:create_progress_handle(event)
|
||||
FidgetHelper:store_progress_handle(event.data.id, handle)
|
||||
end,
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd({ "User" }, {
|
||||
pattern = "CodeCompanionRequestFinished",
|
||||
group = fidget_group,
|
||||
callback = function(event)
|
||||
local FidgetHelper = require('utils.fidget_helper')
|
||||
-- Pass event instead of request if the callback receives the full event object
|
||||
-- Pass event instead of request if the callback receives the full event object
|
||||
local handle = FidgetHelper:pop_progress_handle(event.data.id)
|
||||
if handle then
|
||||
FidgetHelper:report_exit_status(handle, event)
|
||||
handle:finish()
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
require('helpers').edit_cf('a', '/lua/autocmd.lua')
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
-- See `:help vim.keymap.set()`
|
||||
|
||||
-- Swap : and ; around
|
||||
vim.keymap.set('n', ':', ';')
|
||||
vim.keymap.set('n', ';', ':')
|
||||
vim.keymap.set({ 'n', 'v' }, ':', ';')
|
||||
vim.keymap.set({ 'n', 'v' }, ';', ':')
|
||||
|
||||
-- Clear highlights on search when pressing <Esc> in normal mode
|
||||
-- See `:help hlsearch`
|
||||
@@ -20,12 +20,6 @@ vim.keymap.set('n', '<leader>q', vim.diagnostic.setloclist, { desc = 'Open diagn
|
||||
-- or just use <C-\><C-n> to exit terminal mode
|
||||
vim.keymap.set('t', '<Esc><Esc>', '<C-\\><C-n>', { desc = 'Exit terminal mode' })
|
||||
|
||||
-- TIP: Disable arrow keys in normal mode
|
||||
-- vim.keymap.set('n', '<left>', '<cmd>echo "Use h to move!!"<CR>')
|
||||
-- vim.keymap.set('n', '<right>', '<cmd>echo "Use l to move!!"<CR>')
|
||||
-- vim.keymap.set('n', '<up>', '<cmd>echo "Use k to move!!"<CR>')
|
||||
-- vim.keymap.set('n', '<down>', '<cmd>echo "Use j to move!!"<CR>')
|
||||
|
||||
-- Keybinds to make split navigation easier.
|
||||
-- Use CTRL+<hjkl> to switch between windows
|
||||
--
|
||||
@@ -40,4 +34,93 @@ vim.keymap.set('n', '<C-S-l>', '<C-w>L', { desc = 'Move window to the right' })
|
||||
vim.keymap.set('n', '<C-S-j>', '<C-w>J', { desc = 'Move window to the lower' })
|
||||
vim.keymap.set('n', '<C-S-k>', '<C-w>K', { desc = 'Move window to the upper' })
|
||||
|
||||
-- Overriding CTRL mappings because some of them are stupid
|
||||
vim.keymap.set({ 'n', 'v', 'c', 'i' }, '<C-S-B>', '<CMD>Git blame<CR>', { desc = 'Git blame' })
|
||||
vim.keymap.set({ 'n', 'v', 'c', 'i' }, '<C-Q>', '<CMD>Telescope lsp_document_symbols<CR>', { desc = 'Show symbols in current document' })
|
||||
vim.keymap.set({ 'n', 'v', 'c', 'i' }, '<C-S-Q>', '<CMD>Telescope lsp_workspace_symbols<CR>', { desc = 'Show symbols in workspace' })
|
||||
vim.keymap.set({ 'n', 'v', 'c', 'i' }, '<C-E>', '<CMD>Telescope oldfiles<CR>', { desc = 'Show recently opened files' })
|
||||
vim.keymap.set({ 'n', 'v', 'c', 'i' }, '<C-P>', function()
|
||||
require('telescope.builtin').find_files {
|
||||
show_untracked = true,
|
||||
no_ignore = false,
|
||||
hidden = true,
|
||||
}
|
||||
end, { desc = 'Find all files' })
|
||||
vim.keymap.set({ 'n', 'v', 'c', 'i' }, '<C-S-P>', function()
|
||||
require('telescope.builtin').find_files {
|
||||
show_untracked = true,
|
||||
no_ignore = true,
|
||||
hidden = true,
|
||||
}
|
||||
end, { desc = 'Find all files' })
|
||||
vim.keymap.set({ 'n', 'v', 'c', 'i' }, '<C-F>', function()
|
||||
require('telescope.builtin').live_grep {
|
||||
hidden = true,
|
||||
}
|
||||
end, { desc = 'Search within the whole project' })
|
||||
vim.keymap.set({ 'n', 'v', 'c', 'i' }, '<C-Y>', '<CMD>Telescope quickfix<CR>', { desc = 'Show quickfix list' })
|
||||
vim.keymap.set({ 'n', 'v', 'c', 'i' }, '<C-S-Y>', '<CMD>Telescope quickfixhistory<CR>', { desc = 'Show quickfix history' })
|
||||
vim.keymap.set({ 'n', 'v', 'c', 'i' }, '<C-A>', '<CMD>CodeCompanionChat Toggle<CR>', { desc = 'Open AI Actions' })
|
||||
vim.keymap.set({ 'n', 'v', 'c', 'i' }, '<C-S-A>', '<CMD>CodeCompanionActions<CR>', { desc = 'Open AI Actions' })
|
||||
vim.keymap.set({ 'n', 'v', 'c', 'i' }, '<C-S>', function()
|
||||
require('snacks').scratch()
|
||||
end, { desc = 'Open scratchpad' })
|
||||
vim.keymap.set({ 'n', 'v', 'c', 'i' }, '<C-S-S>', function()
|
||||
require('snacks').scratch.select()
|
||||
end, { desc = 'Open scratchpad buffers' })
|
||||
vim.keymap.set({ 'n', 'v', 'c', 'i' }, '<C-T>', function()
|
||||
require('snacks').terminal.toggle()
|
||||
end, { desc = 'Open terminal' })
|
||||
|
||||
-- Editing helpers
|
||||
vim.keymap.set('i', '<C-O>', '<Esc>o', { desc = 'Add line below' })
|
||||
vim.keymap.set('i', '<C-S-O>', '<Esc>O', { desc = 'Add line above' })
|
||||
vim.keymap.set('i', 'jj', '<Esc>', { desc = 'Exit insert mode' })
|
||||
vim.keymap.set('i', 'jk', '<Esc>', { desc = 'Exit insert mode' })
|
||||
vim.keymap.set('i', 'kk', '<Esc>', { desc = 'Exit insert mode' })
|
||||
vim.keymap.set('i', '<C-D>', '<Esc>ddi', { desc = 'Delete line' })
|
||||
vim.keymap.set('i', '<Leader>;', '<Esc>mzA;<Esc>`za', { desc = 'Append a semicolon' })
|
||||
vim.keymap.set('n', '<Leader>;', 'mzA;<Esc>`za', { desc = 'Append a semicolon' })
|
||||
vim.keymap.set('n', '<Leader>{', 'mzF[`a<CR><Esc>``%i<CR><Esc>`z', { desc = 'Indent an array' })
|
||||
vim.keymap.set('n', '<Leader>}', 'mzF[`a<CR><Esc>``%i<CR><Esc>`zvi[:s/,\\s*/,\\r/g<CR>vi[=<Esc>`z:nohlsearch<CR>', { desc = 'Indent an array some other way?' })
|
||||
|
||||
-- Git mappings
|
||||
vim.keymap.set('n', '<Leader>gaf', '<CMD>Git add %<CR>', { desc = 'Git add current file' })
|
||||
vim.keymap.set('n', '<Leader>gaa', '<CMD>Git add --all<CR>', { desc = 'Git add all unstaged changes' })
|
||||
vim.keymap.set('n', '<Leader>gap', '<CMD>Git add --patch --all<CR>', { desc = 'Git add all unstaged changes interactively' })
|
||||
vim.keymap.set('n', '<Leader>gb', '<CMD>Git blame<CR>', { desc = 'Git blame' })
|
||||
vim.keymap.set('n', '<Leader>gcm', '<CMD>Git commit -v<CR>', { desc = 'Git commit' })
|
||||
vim.keymap.set('n', '<Leader>gp', '<CMD>Git push<CR>', { desc = 'Git push' })
|
||||
vim.keymap.set('n', '<Leader>gup', '<CMD>Git pull --rebase<CR>', { desc = 'Git pull --rebase' })
|
||||
vim.keymap.set('n', '<Leader>gsb', '<CMD>Git status<CR>', { desc = 'Git status' })
|
||||
vim.keymap.set('n', '<Leader>gd', '<CMD>Git diff<CR>', { desc = 'Git diff' })
|
||||
vim.keymap.set('n', '<Leader>gdc', '<CMD>Git diff --cached<CR>', { desc = 'Git diff' })
|
||||
vim.keymap.set('n', '<Leader>gl', '<CMD>Git log<CR>', { desc = 'Git log' })
|
||||
vim.keymap.set('n', '<Leader>gun', '<CMD>Git reset -- %<CR>', { desc = 'Git unstage file' })
|
||||
vim.keymap.set('n', '<Leader>gco', '<CMD>Git checkout -- %<CR>', { desc = 'Git checkout' })
|
||||
vim.keymap.set('n', '<Leader>G', '<CMD>Git', { desc = 'Git' })
|
||||
vim.keymap.set('n', '<Leader>gsta', '<CMD>Git stash push<CR>', { desc = 'Git stash' })
|
||||
vim.keymap.set('n', '<Leader>gstA', '<CMD>Git stash apply<CR>', { desc = 'Git stash apply' })
|
||||
vim.keymap.set('n', '<Leader>gstp', '<CMD>Git stash pop<CR>', { desc = 'Git stash pop' })
|
||||
|
||||
-- AI mappings
|
||||
vim.keymap.set('v', '<Leader>ae', '<CMD>CodeCompanion<CR>', { desc = 'Edit selection with AI' })
|
||||
vim.keymap.set('n', '<Leader>ac', '<CMD>CodeCompanionCmd<CR>', { desc = 'Run Neovim commands with AI' })
|
||||
|
||||
-- Search mappings
|
||||
vim.keymap.set('n', '<Leader>sGb', '<CMD>Telescope git_branches<CR>', { desc = 'Search git branches' })
|
||||
vim.keymap.set('n', '<Leader>sGc', '<CMD>Telescope git_commits<CR>', { desc = 'Search git history' })
|
||||
vim.keymap.set('n', '<Leader>sGh', '<CMD>Telescope git_bcommits<CR>', { desc = 'Search git history within current buffer/selection' })
|
||||
vim.keymap.set('n', '<Leader>sGs', '<CMD>Telescope git_status<CR>', { desc = 'Search git status' })
|
||||
vim.keymap.set('n', '<Leader>sGS', '<CMD>Telescope git_stash<CR>', { desc = 'Search git stash' })
|
||||
|
||||
-- Misc
|
||||
vim.keymap.set('n', '<Leader>]', '<CMD>cnext<CR>', { desc = 'Next item in quickfix list' })
|
||||
vim.keymap.set('n', '<Leader>[', '<CMD>cprevious<CR>', { desc = 'Previous item in quickfix list' })
|
||||
vim.keymap.set('n', 'gd', '<CMD>Telescope lsp_definitions<CR>', { desc = 'Go to definition' })
|
||||
|
||||
-- Leaving this commented out, I will try the format command instead
|
||||
-- "A command to properly indent json code
|
||||
-- command! FormatJSON %!python -m json.tool
|
||||
|
||||
require('helpers').edit_cf('k', '/lua/keymap.lua')
|
||||
|
||||
3
lua/plugins/actually.lua
Normal file
3
lua/plugins/actually.lua
Normal file
@@ -0,0 +1,3 @@
|
||||
return {
|
||||
'mong8se/actually.nvim',
|
||||
}
|
||||
@@ -1,72 +1,75 @@
|
||||
require('helpers').edit_cf('pa', '/lua/plugins/avante.lua')
|
||||
|
||||
return {
|
||||
'yetone/avante.nvim',
|
||||
event = 'VeryLazy',
|
||||
version = false, -- Never set this value to "*"! Never!
|
||||
opts = {
|
||||
-- add any opts here
|
||||
-- for example
|
||||
provider = 'aihubmix',
|
||||
cursor_applying_provider = 'aihubmix_llama_versatile',
|
||||
aihubmix = {
|
||||
-- model = 'claude-3-7-sonnet-20250219',
|
||||
model = 'DeepSeek-V3',
|
||||
},
|
||||
openai = {
|
||||
endpoint = 'https://api.openai.com/v1',
|
||||
model = 'gpt-4o', -- your desired model (or use gpt-4o, etc.)
|
||||
timeout = 30000, -- Timeout in milliseconds, increase this for reasoning models
|
||||
temperature = 0,
|
||||
max_completion_tokens = 8192, -- Increase this to include reasoning tokens (for reasoning models)
|
||||
--reasoning_effort = "medium", -- low|medium|high, only used for reasoning models
|
||||
},
|
||||
vendors = {
|
||||
aihubmix_llama_versatile = {
|
||||
__inherited_from = 'aihubmix',
|
||||
model = 'llama-3.3-70b-versatile',
|
||||
},
|
||||
},
|
||||
},
|
||||
-- if you want to build from source then do `make BUILD_FROM_SOURCE=true`
|
||||
build = 'make',
|
||||
-- build = "powershell -ExecutionPolicy Bypass -File Build.ps1 -BuildFromSource false" -- for windows
|
||||
dependencies = {
|
||||
'nvim-treesitter/nvim-treesitter',
|
||||
'stevearc/dressing.nvim',
|
||||
'nvim-lua/plenary.nvim',
|
||||
'MunifTanjim/nui.nvim',
|
||||
--- The below dependencies are optional,
|
||||
'echasnovski/mini.pick', -- for file_selector provider mini.pick
|
||||
'nvim-telescope/telescope.nvim', -- for file_selector provider telescope
|
||||
'hrsh7th/nvim-cmp', -- autocompletion for avante commands and mentions
|
||||
'ibhagwan/fzf-lua', -- for file_selector provider fzf
|
||||
'nvim-tree/nvim-web-devicons', -- or echasnovski/mini.icons
|
||||
'zbirenbaum/copilot.lua', -- for providers='copilot'
|
||||
{
|
||||
-- support for image pasting
|
||||
'HakonHarnes/img-clip.nvim',
|
||||
event = 'VeryLazy',
|
||||
opts = {
|
||||
-- recommended settings
|
||||
default = {
|
||||
embed_image_as_base64 = false,
|
||||
prompt_for_file_name = false,
|
||||
drag_and_drop = {
|
||||
insert_mode = true,
|
||||
},
|
||||
-- required for Windows users
|
||||
use_absolute_path = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
-- Make sure to set this up properly if you have lazy=true
|
||||
'MeanderingProgrammer/render-markdown.nvim',
|
||||
opts = {
|
||||
file_types = { 'markdown', 'Avante' },
|
||||
},
|
||||
ft = { 'markdown', 'Avante' },
|
||||
},
|
||||
},
|
||||
}
|
||||
return {}
|
||||
-- require('helpers').edit_cf('pa', '/lua/plugins/avante.lua')
|
||||
--
|
||||
-- return {
|
||||
-- 'yetone/avante.nvim',
|
||||
-- event = 'VeryLazy',
|
||||
-- version = false, -- Never set this value to "*"! Never!
|
||||
-- opts = {
|
||||
-- -- add any opts here
|
||||
-- -- for example
|
||||
-- provider = 'aihubmix',
|
||||
-- -- cursor_applying_provider = 'aihubmix_llama_versatile',
|
||||
-- aihubmix = {
|
||||
-- -- model = 'claude-3-7-sonnet-20250219',
|
||||
-- model = 'DeepSeek-V3',
|
||||
-- },
|
||||
-- openai = {
|
||||
-- endpoint = 'https://api.openai.com/v1',
|
||||
-- model = 'gpt-4o', -- your desired model (or use gpt-4o, etc.)
|
||||
-- timeout = 30000, -- Timeout in milliseconds, increase this for reasoning models
|
||||
-- temperature = 0,
|
||||
-- max_completion_tokens = 8192, -- Increase this to include reasoning tokens (for reasoning models)
|
||||
-- --reasoning_effort = "medium", -- low|medium|high, only used for reasoning models
|
||||
-- },
|
||||
-- vendors = {
|
||||
-- aihubmix_llama_versatile = {
|
||||
-- __inherited_from = 'openai',
|
||||
-- api_key_name = 'AIHUBMIX_API_KEY',
|
||||
-- endpoint = 'https://aihubmix.com/v1',
|
||||
-- model = 'llama-3.3-70b-versatile',
|
||||
-- },
|
||||
-- },
|
||||
-- },
|
||||
-- -- if you want to build from source then do `make BUILD_FROM_SOURCE=true`
|
||||
-- build = 'make',
|
||||
-- -- build = "powershell -ExecutionPolicy Bypass -File Build.ps1 -BuildFromSource false" -- for windows
|
||||
-- dependencies = {
|
||||
-- 'nvim-treesitter/nvim-treesitter',
|
||||
-- 'stevearc/dressing.nvim',
|
||||
-- 'nvim-lua/plenary.nvim',
|
||||
-- 'MunifTanjim/nui.nvim',
|
||||
-- --- The below dependencies are optional,
|
||||
-- 'echasnovski/mini.pick', -- for file_selector provider mini.pick
|
||||
-- 'nvim-telescope/telescope.nvim', -- for file_selector provider telescope
|
||||
-- 'hrsh7th/nvim-cmp', -- autocompletion for avante commands and mentions
|
||||
-- 'ibhagwan/fzf-lua', -- for file_selector provider fzf
|
||||
-- 'nvim-tree/nvim-web-devicons', -- or echasnovski/mini.icons
|
||||
-- 'zbirenbaum/copilot.lua', -- for providers='copilot'
|
||||
-- {
|
||||
-- -- support for image pasting
|
||||
-- 'HakonHarnes/img-clip.nvim',
|
||||
-- event = 'VeryLazy',
|
||||
-- opts = {
|
||||
-- -- recommended settings
|
||||
-- default = {
|
||||
-- embed_image_as_base64 = false,
|
||||
-- prompt_for_file_name = false,
|
||||
-- drag_and_drop = {
|
||||
-- insert_mode = true,
|
||||
-- },
|
||||
-- -- required for Windows users
|
||||
-- use_absolute_path = true,
|
||||
-- },
|
||||
-- },
|
||||
-- },
|
||||
-- {
|
||||
-- -- Make sure to set this up properly if you have lazy=true
|
||||
-- 'MeanderingProgrammer/render-markdown.nvim',
|
||||
-- opts = {
|
||||
-- file_types = { 'markdown', 'Avante' },
|
||||
-- },
|
||||
-- ft = { 'markdown', 'Avante' },
|
||||
-- },
|
||||
-- },
|
||||
-- }
|
||||
|
||||
@@ -5,7 +5,7 @@ return {
|
||||
version = '1.*',
|
||||
dependencies = {
|
||||
-- Compatibility for Avante with Blink (it typically only works with cmp)
|
||||
'Kaiser-Yang/blink-cmp-avante',
|
||||
-- 'Kaiser-Yang/blink-cmp-avante',
|
||||
-- Snippet Engine
|
||||
{
|
||||
'L3MON4D3/LuaSnip',
|
||||
@@ -59,7 +59,7 @@ return {
|
||||
-- <c-k>: Toggle signature help
|
||||
--
|
||||
-- See :h blink-cmp-config-keymap for defining your own keymap
|
||||
preset = 'default',
|
||||
preset = 'enter',
|
||||
|
||||
-- For more advanced Luasnip keymaps (e.g. selecting choice nodes, expansion) see:
|
||||
-- https://github.com/L3MON4D3/LuaSnip?tab=readme-ov-file#keymaps
|
||||
@@ -68,20 +68,23 @@ return {
|
||||
appearance = {
|
||||
-- 'mono' (default) for 'Nerd Font Mono' or 'normal' for 'Nerd Font'
|
||||
-- Adjusts spacing to ensure icons are aligned
|
||||
nerd_font_variant = 'mono',
|
||||
nerd_font_variant = 'normal',
|
||||
},
|
||||
|
||||
completion = {
|
||||
-- By default, you may press `<c-space>` to show the documentation.
|
||||
-- Optionally, set `auto_show = true` to show the documentation after a delay.
|
||||
documentation = { auto_show = false, auto_show_delay_ms = 500 },
|
||||
documentation = { auto_show = true, auto_show_delay_ms = 500 },
|
||||
},
|
||||
|
||||
sources = {
|
||||
default = { 'avante', 'lsp', 'path', 'snippets', 'lazydev' },
|
||||
default = { 'codecompanion', 'lsp', 'path', 'snippets', 'lazydev' },
|
||||
providers = {
|
||||
lazydev = { module = 'lazydev.integrations.blink', score_offset = 100 },
|
||||
avante = { module = 'blink-cmp-avante', name = 'Avante', opts = {} },
|
||||
-- avante = { module = 'blink-cmp-avante', name = 'Avante', opts = {} },
|
||||
},
|
||||
per_filetype = {
|
||||
codecompanion = { 'codecompanion' },
|
||||
},
|
||||
},
|
||||
|
||||
|
||||
44
lua/plugins/codecompanion.lua
Normal file
44
lua/plugins/codecompanion.lua
Normal file
@@ -0,0 +1,44 @@
|
||||
require('helpers').edit_cf('pa', '/lua/plugins/codecompanion.lua')
|
||||
|
||||
return {
|
||||
'olimorris/codecompanion.nvim',
|
||||
opts = function(_, opts)
|
||||
opts.adapters = {
|
||||
copilot = function()
|
||||
return require('codecompanion.adapters').extend('copilot', {
|
||||
schema = {
|
||||
model = {
|
||||
default = 'gpt-4o',
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
}
|
||||
|
||||
opts.display = {
|
||||
chat = {
|
||||
show_settings = true,
|
||||
},
|
||||
}
|
||||
|
||||
opts.strategies = {
|
||||
chat = {
|
||||
adapter = 'copilot',
|
||||
slash_commands = {
|
||||
codebase = require('vectorcode.integrations').codecompanion.chat.make_slash_command(),
|
||||
},
|
||||
tools = {
|
||||
vectorcode = {
|
||||
description = 'Run VectorCode to retrieve the project context.',
|
||||
callback = require('vectorcode.integrations').codecompanion.chat.make_tool(),
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
end,
|
||||
dependencies = {
|
||||
'nvim-lua/plenary.nvim',
|
||||
'nvim-treesitter/nvim-treesitter',
|
||||
'Davidyz/VectorCode',
|
||||
},
|
||||
}
|
||||
3
lua/plugins/copilot.lua
Normal file
3
lua/plugins/copilot.lua
Normal file
@@ -0,0 +1,3 @@
|
||||
return {
|
||||
'github/copilot.vim',
|
||||
}
|
||||
@@ -25,42 +25,42 @@ return {
|
||||
keys = {
|
||||
-- Basic debugging keymaps, feel free to change to your liking!
|
||||
{
|
||||
'<F5>',
|
||||
'<Leader>dc',
|
||||
function()
|
||||
require('dap').continue()
|
||||
end,
|
||||
desc = 'Debug: Start/Continue',
|
||||
},
|
||||
{
|
||||
'<F1>',
|
||||
'<Leader>di',
|
||||
function()
|
||||
require('dap').step_into()
|
||||
end,
|
||||
desc = 'Debug: Step Into',
|
||||
},
|
||||
{
|
||||
'<F2>',
|
||||
'<Leader>do',
|
||||
function()
|
||||
require('dap').step_over()
|
||||
end,
|
||||
desc = 'Debug: Step Over',
|
||||
},
|
||||
{
|
||||
'<F3>',
|
||||
'<Leader>du',
|
||||
function()
|
||||
require('dap').step_out()
|
||||
end,
|
||||
desc = 'Debug: Step Out',
|
||||
},
|
||||
{
|
||||
'<leader>b',
|
||||
'<leader>db',
|
||||
function()
|
||||
require('dap').toggle_breakpoint()
|
||||
end,
|
||||
desc = 'Debug: Toggle Breakpoint',
|
||||
},
|
||||
{
|
||||
'<leader>B',
|
||||
'<leader>dB',
|
||||
function()
|
||||
require('dap').set_breakpoint(vim.fn.input 'Breakpoint condition: ')
|
||||
end,
|
||||
@@ -68,7 +68,7 @@ return {
|
||||
},
|
||||
-- Toggle to see last session result. Without this, you can't see session output in case of unhandled exception.
|
||||
{
|
||||
'<F7>',
|
||||
'<Leader>ds',
|
||||
function()
|
||||
require('dapui').toggle()
|
||||
end,
|
||||
|
||||
3
lua/plugins/dotenv.lua
Normal file
3
lua/plugins/dotenv.lua
Normal file
@@ -0,0 +1,3 @@
|
||||
return {
|
||||
'ellisonleao/dotenv.nvim',
|
||||
}
|
||||
101
lua/plugins/edgy.lua
Normal file
101
lua/plugins/edgy.lua
Normal file
@@ -0,0 +1,101 @@
|
||||
return {
|
||||
"folke/edgy.nvim",
|
||||
event = "VeryLazy",
|
||||
init = function()
|
||||
vim.opt.laststatus = 3
|
||||
vim.opt.splitkeep = "screen"
|
||||
end,
|
||||
opts = {
|
||||
bottom = {
|
||||
-- toggleterm / lazyterm at the bottom with a height of 40% of the screen
|
||||
{
|
||||
ft = "toggleterm",
|
||||
size = { height = 0.4 },
|
||||
-- exclude floating windows
|
||||
filter = function(buf, win)
|
||||
return vim.api.nvim_win_get_config(win).relative == ""
|
||||
end,
|
||||
},
|
||||
{
|
||||
ft = "lazyterm",
|
||||
title = "LazyTerm",
|
||||
size = { height = 0.4 },
|
||||
filter = function(buf)
|
||||
return not vim.b[buf].lazyterm_cmd
|
||||
end,
|
||||
},
|
||||
{
|
||||
ft = "snack_terminal",
|
||||
size = { height = 0.4 },
|
||||
title = "%{b:snacks_terminal.id}: %{b:term_title}",
|
||||
filter = function(_buf, win)
|
||||
return vim.w[win].snacks_win
|
||||
and vim.w[win].snacks_win.position == pos
|
||||
and vim.w[win].snacks_win.relative == "editor"
|
||||
and not vim.w[win].trouble_preview
|
||||
end,
|
||||
},
|
||||
"Trouble",
|
||||
{ ft = "qf", title = "QuickFix" },
|
||||
{
|
||||
ft = "help",
|
||||
size = { height = 20 },
|
||||
-- only show help buffers
|
||||
filter = function(buf)
|
||||
return vim.bo[buf].buftype == "help"
|
||||
end,
|
||||
},
|
||||
{ ft = "spectre_panel", size = { height = 0.4 } },
|
||||
},
|
||||
left = {
|
||||
-- Neo-tree filesystem always takes half the screen height
|
||||
{
|
||||
title = "Neo-Tree",
|
||||
ft = "neo-tree",
|
||||
filter = function(buf)
|
||||
return vim.b[buf].neo_tree_source == "filesystem"
|
||||
end,
|
||||
size = { height = 0.5 },
|
||||
},
|
||||
{
|
||||
title = "Neo-Tree Git",
|
||||
ft = "neo-tree",
|
||||
filter = function(buf)
|
||||
return vim.b[buf].neo_tree_source == "git_status"
|
||||
end,
|
||||
pinned = true,
|
||||
collapsed = true, -- show window as closed/collapsed on start
|
||||
open = "Neotree position=right git_status",
|
||||
},
|
||||
{
|
||||
title = "Neo-Tree Buffers",
|
||||
ft = "neo-tree",
|
||||
filter = function(buf)
|
||||
return vim.b[buf].neo_tree_source == "buffers"
|
||||
end,
|
||||
pinned = true,
|
||||
collapsed = true, -- show window as closed/collapsed on start
|
||||
open = "Neotree position=top buffers",
|
||||
},
|
||||
{
|
||||
title = function()
|
||||
local buf_name = vim.api.nvim_buf_get_name(0) or "[No Name]"
|
||||
return vim.fn.fnamemodify(buf_name, ":t")
|
||||
end,
|
||||
ft = "Outline",
|
||||
pinned = true,
|
||||
open = "SymbolsOutlineOpen",
|
||||
|
||||
},
|
||||
-- any other neo-tree windows
|
||||
"neo-tree",
|
||||
},
|
||||
right = {
|
||||
{
|
||||
title = 'Code Companion',
|
||||
ft = 'codecompanion',
|
||||
size = { width = 0.3 },
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
3
lua/plugins/fidget.lua
Normal file
3
lua/plugins/fidget.lua
Normal file
@@ -0,0 +1,3 @@
|
||||
return {
|
||||
'j-hui/fidget.nvim',
|
||||
}
|
||||
10
lua/plugins/git_blame.lua
Normal file
10
lua/plugins/git_blame.lua
Normal file
@@ -0,0 +1,10 @@
|
||||
return {
|
||||
'f-person/git-blame.nvim',
|
||||
event = 'VeryLazy',
|
||||
opts = {
|
||||
enabled = true, -- if you want to enable the plugin
|
||||
message_template = ' <summary> • <date> • <author> • <<sha>>', -- template for the blame message, check the Message template section for more options
|
||||
date_format = '%m-%d-%Y %H:%M:%S', -- template for the date, check Date format section for more options
|
||||
virtual_text_column = 1, -- virtual text start column, check Start virtual text at column section for more options
|
||||
},
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
require('helpers').edit_cf('pg', '/lua/plugins/gitsigns.lua')
|
||||
-- Adds git related signs to the gutter, as well as utilities for managing changes
|
||||
-- See `:help gitsigns`
|
||||
return {
|
||||
|
||||
@@ -7,6 +7,9 @@ return {
|
||||
lint.linters_by_ft = {
|
||||
markdown = { 'markdownlint' },
|
||||
}
|
||||
lint.linters_by_ft['javascript'] = nil
|
||||
lint.linters_by_ft['vue'] = nil
|
||||
lint.linters_by_ft['html'] = nil
|
||||
|
||||
-- To allow other plugins to add linters to require('lint').linters_by_ft,
|
||||
-- instead set linters_by_ft like this:
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
-- Main LSP Configuration
|
||||
require('helpers').edit_cf('pl', '/lua/plugins/lsp.lua')
|
||||
|
||||
return {
|
||||
'neovim/nvim-lspconfig',
|
||||
dependencies = {
|
||||
@@ -194,6 +196,9 @@ return {
|
||||
-- - capabilities (table): Override fields in capabilities. Can be used to disable certain LSP features.
|
||||
-- - settings (table): Override the default settings passed when initializing the server.
|
||||
-- For example, to see the options for `lua_ls`, you could go to: https://luals.github.io/wiki/settings/
|
||||
|
||||
local mason_registry = require 'mason-registry'
|
||||
local vue_language_server_path = mason_registry.get_package('vue-language-server'):get_install_path() .. '/node_modules/@vue/language-server'
|
||||
local servers = {
|
||||
-- clangd = {},
|
||||
-- gopls = {},
|
||||
@@ -222,6 +227,30 @@ return {
|
||||
},
|
||||
},
|
||||
},
|
||||
ts_ls = {
|
||||
init_options = {
|
||||
plugins = {
|
||||
{
|
||||
name = '@vue/typescript-plugin',
|
||||
location = vue_language_server_path,
|
||||
languages = { 'vue' },
|
||||
},
|
||||
},
|
||||
},
|
||||
filetypes = { 'typescript', 'javascript', 'javascriptreact', 'typescriptreact', 'vue' },
|
||||
},
|
||||
|
||||
volar = {
|
||||
on_attach = function(client, bufnr)
|
||||
client.server_capabilities.documentFormattingProvider = false
|
||||
end,
|
||||
},
|
||||
|
||||
phpactor = {
|
||||
on_attach = function(client, bufnr)
|
||||
client.server_capabilities.documentFormattingProvider = false
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
-- Ensure the servers and tools above are installed
|
||||
|
||||
@@ -1,38 +1,54 @@
|
||||
-- Collection of various small independent plugins/modules
|
||||
return {
|
||||
"echasnovski/mini.nvim",
|
||||
config = function()
|
||||
-- Better Around/Inside textobjects
|
||||
--
|
||||
-- Examples:
|
||||
-- - va) - [V]isually select [A]round [)]paren
|
||||
-- - yinq - [Y]ank [I]nside [N]ext [Q]uote
|
||||
-- - ci' - [C]hange [I]nside [']quote
|
||||
require("mini.ai").setup({ n_lines = 500 })
|
||||
'echasnovski/mini.nvim',
|
||||
config = function()
|
||||
-- Better Around/Inside textobjects
|
||||
--
|
||||
-- Examples:
|
||||
-- - va) - [V]isually select [A]round [)]paren
|
||||
-- - yinq - [Y]ank [I]nside [N]ext [Q]uote
|
||||
-- - ci' - [C]hange [I]nside [']quote
|
||||
require('mini.ai').setup { n_lines = 500 }
|
||||
|
||||
-- Add/delete/replace surroundings (brackets, quotes, etc.)
|
||||
--
|
||||
-- - saiw) - [S]urround [A]dd [I]nner [W]ord [)]Paren
|
||||
-- - sd' - [S]urround [D]elete [']quotes
|
||||
-- - sr)' - [S]urround [R]eplace [)] [']
|
||||
require("mini.surround").setup()
|
||||
-- Add/delete/replace surroundings (brackets, quotes, etc.)
|
||||
--
|
||||
-- - saiw) - [S]urround [A]dd [I]nner [W]ord [)]Paren
|
||||
-- - sd' - [S]urround [D]elete [']quotes
|
||||
-- - sr)' - [S]urround [R]eplace [)] [']
|
||||
require('mini.surround').setup {
|
||||
mappings = {
|
||||
add = 'ys',
|
||||
delete = 'ds',
|
||||
replace = 'cs',
|
||||
},
|
||||
}
|
||||
|
||||
-- Simple and easy statusline.
|
||||
-- You could remove this setup call if you don't like it,
|
||||
-- and try some other statusline plugin
|
||||
local statusline = require("mini.statusline")
|
||||
-- set use_icons to true if you have a Nerd Font
|
||||
statusline.setup({ use_icons = vim.g.have_nerd_font })
|
||||
require('mini.pairs').setup()
|
||||
|
||||
-- You can configure sections in the statusline by overriding their
|
||||
-- default behavior. For example, here we set the section for
|
||||
-- cursor location to LINE:COLUMN
|
||||
---@diagnostic disable-next-line: duplicate-set-field
|
||||
statusline.section_location = function()
|
||||
return "%2l:%-2v"
|
||||
end
|
||||
-- require('mini.jump').setup()
|
||||
|
||||
-- ... and there is more!
|
||||
-- Check out: https://github.com/echasnovski/mini.nvim
|
||||
end,
|
||||
require('mini.jump2d').setup()
|
||||
|
||||
require('mini.splitjoin').setup()
|
||||
|
||||
require('mini.map').setup()
|
||||
|
||||
-- Simple and easy statusline.
|
||||
-- You could remove this setup call if you don't like it,
|
||||
-- and try some other statusline plugin
|
||||
local statusline = require 'mini.statusline'
|
||||
-- set use_icons to true if you have a Nerd Font
|
||||
statusline.setup { use_icons = vim.g.have_nerd_font }
|
||||
|
||||
-- You can configure sections in the statusline by overriding their
|
||||
-- default behavior. For example, here we set the section for
|
||||
-- cursor location to LINE:COLUMN
|
||||
---@diagnostic disable-next-line: duplicate-set-field
|
||||
statusline.section_location = function()
|
||||
return '%2l:%-2v'
|
||||
end
|
||||
|
||||
-- ... and there is more!
|
||||
-- Check out: https://github.com/echasnovski/mini.nvim
|
||||
end,
|
||||
}
|
||||
|
||||
@@ -13,8 +13,19 @@ return {
|
||||
keys = {
|
||||
{ '\\', ':Neotree reveal<CR>', desc = 'NeoTree reveal', silent = true },
|
||||
},
|
||||
opts = {
|
||||
filesystem = {
|
||||
|
||||
opts = function(_, opts)
|
||||
local function on_move(data)
|
||||
Snacks.rename.on_rename_file(data.source, data.destination)
|
||||
end
|
||||
local events = require("neo-tree.events")
|
||||
opts.event_handlers = opts.event_handlers or {}
|
||||
vim.list_extend(opts.event_handlers, {
|
||||
{ event = events.FILE_MOVED, handler = on_move },
|
||||
{ event = events.FILE_RENAMED, handler = on_move },
|
||||
})
|
||||
|
||||
opts.filesystem = {
|
||||
window = {
|
||||
mappings = {
|
||||
['\\'] = 'close_window',
|
||||
@@ -23,6 +34,6 @@ return {
|
||||
filtered_items = {
|
||||
hide_dotfiles = false,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
end,
|
||||
}
|
||||
|
||||
21
lua/plugins/neotest.lua
Normal file
21
lua/plugins/neotest.lua
Normal file
@@ -0,0 +1,21 @@
|
||||
return {
|
||||
"nvim-neotest/neotest",
|
||||
lazy = true,
|
||||
dependencies = {
|
||||
"nvim-neotest/nvim-nio",
|
||||
"nvim-lua/plenary.nvim",
|
||||
"antoinemadec/FixCursorHold.nvim",
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
-- Adapters
|
||||
'V13Axel/neotest-pest',
|
||||
-- "olimorris/neotest-phpunit",
|
||||
},
|
||||
config = function()
|
||||
require('neotest').setup({
|
||||
adapters = {
|
||||
require('neotest-pest'),
|
||||
-- require('neotest-phpunit'),
|
||||
}
|
||||
})
|
||||
end
|
||||
}
|
||||
23
lua/plugins/oil.lua
Normal file
23
lua/plugins/oil.lua
Normal file
@@ -0,0 +1,23 @@
|
||||
-- Filesystem manager
|
||||
require('helpers').edit_cf('po', '/lua/plugins/oil.lua')
|
||||
|
||||
vim.keymap.set('n', '-', '<CMD>Oil<CR>', { desc = 'Open parent directory' })
|
||||
|
||||
return {
|
||||
'stevearc/oil.nvim',
|
||||
---@module 'oil'
|
||||
---@type oil.SetupOpts
|
||||
opts = {
|
||||
view_options = {
|
||||
show_hidden = true,
|
||||
},
|
||||
keymaps = {
|
||||
['<C-p>'] = false,
|
||||
},
|
||||
},
|
||||
-- Optional dependencies
|
||||
dependencies = { { 'echasnovski/mini.icons', opts = {} } },
|
||||
-- dependencies = { "nvim-tree/nvim-web-devicons" }, -- use if you prefer nvim-web-devicons
|
||||
-- Lazy loading is not recommended because it is very tricky to make it work correctly in all situations.
|
||||
lazy = false,
|
||||
}
|
||||
9
lua/plugins/refactor.lua
Normal file
9
lua/plugins/refactor.lua
Normal file
@@ -0,0 +1,9 @@
|
||||
return {
|
||||
"ThePrimeagen/refactoring.nvim",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
},
|
||||
lazy = false,
|
||||
opts = {},
|
||||
}
|
||||
10
lua/plugins/render_markdown.lua
Normal file
10
lua/plugins/render_markdown.lua
Normal file
@@ -0,0 +1,10 @@
|
||||
return {
|
||||
'MeanderingProgrammer/render-markdown.nvim',
|
||||
dependencies = { 'nvim-treesitter/nvim-treesitter', 'echasnovski/mini.nvim' }, -- if you use the mini.nvim suite
|
||||
-- dependencies = { 'nvim-treesitter/nvim-treesitter', 'echasnovski/mini.icons' }, -- if you use standalone mini plugins
|
||||
-- dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-tree/nvim-web-devicons' }, -- if you prefer nvim-web-devicons
|
||||
---@module 'render-markdown'
|
||||
---@type render.md.UserConfig
|
||||
opts = {},
|
||||
ft = { 'markdown', 'codecompanion' },
|
||||
}
|
||||
24
lua/plugins/snacks.lua
Normal file
24
lua/plugins/snacks.lua
Normal file
@@ -0,0 +1,24 @@
|
||||
return {
|
||||
'folke/snacks.nvim',
|
||||
priority = 1000,
|
||||
lazy = false,
|
||||
---@type snacks.Config
|
||||
opts = {
|
||||
-- your configuration comes here
|
||||
-- or leave it empty to use the default settings
|
||||
-- refer to the configuration section below
|
||||
bigfile = { enabled = true },
|
||||
dashboard = { enabled = true },
|
||||
indent = { enabled = true },
|
||||
input = { enabled = true },
|
||||
notifier = { enabled = true },
|
||||
quickfile = { enabled = true },
|
||||
scope = { enabled = true },
|
||||
-- scroll = { enabled = true },
|
||||
statuscolumn = { enabled = true },
|
||||
words = { enabled = true },
|
||||
terminal = { enabled = true },
|
||||
scratch = { enabled = true },
|
||||
rename = { enabled = true },
|
||||
},
|
||||
}
|
||||
@@ -1,105 +1,119 @@
|
||||
-- Fuzzy Finder (files, lsp, etc)
|
||||
-- See :help telescope
|
||||
return {
|
||||
"nvim-telescope/telescope.nvim",
|
||||
event = "VimEnter",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
{ -- If encountering errors, see telescope-fzf-native README for installation instructions
|
||||
"nvim-telescope/telescope-fzf-native.nvim",
|
||||
'nvim-telescope/telescope.nvim',
|
||||
event = 'VimEnter',
|
||||
dependencies = {
|
||||
'nvim-lua/plenary.nvim',
|
||||
{ -- If encountering errors, see telescope-fzf-native README for installation instructions
|
||||
'nvim-telescope/telescope-fzf-native.nvim',
|
||||
|
||||
-- `build` is used to run some command when the plugin is installed/updated.
|
||||
-- This is only run then, not every time Neovim starts up.
|
||||
build = "make",
|
||||
-- `build` is used to run some command when the plugin is installed/updated.
|
||||
-- This is only run then, not every time Neovim starts up.
|
||||
build = 'make',
|
||||
|
||||
-- `cond` is a condition used to determine whether this plugin should be
|
||||
-- installed and loaded.
|
||||
cond = function()
|
||||
return vim.fn.executable("make") == 1
|
||||
end,
|
||||
},
|
||||
{ "nvim-telescope/telescope-ui-select.nvim" },
|
||||
-- `cond` is a condition used to determine whether this plugin should be
|
||||
-- installed and loaded.
|
||||
cond = function()
|
||||
return vim.fn.executable 'make' == 1
|
||||
end,
|
||||
},
|
||||
{ 'nvim-telescope/telescope-ui-select.nvim' },
|
||||
|
||||
-- Useful for getting pretty icons, but requires a Nerd Font.
|
||||
{ "nvim-tree/nvim-web-devicons", enabled = vim.g.have_nerd_font },
|
||||
},
|
||||
config = function()
|
||||
-- Telescope is a fuzzy finder that comes with a lot of different things that
|
||||
-- it can fuzzy find! It's more than just a "file finder", it can search
|
||||
-- many different aspects of Neovim, your workspace, LSP, and more!
|
||||
--
|
||||
-- The easiest way to use Telescope, is to start by doing something like:
|
||||
-- :Telescope help_tags
|
||||
--
|
||||
-- After running this command, a window will open up and you're able to
|
||||
-- type in the prompt window. You'll see a list of `help_tags` options and
|
||||
-- a corresponding preview of the help.
|
||||
--
|
||||
-- Two important keymaps to use while in Telescope are:
|
||||
-- - Insert mode: <c-/>
|
||||
-- - Normal mode: ?
|
||||
--
|
||||
-- This opens a window that shows you all of the keymaps for the current
|
||||
-- Telescope picker. This is really useful to discover what Telescope can
|
||||
-- do as well as how to actually do it!
|
||||
-- Useful for getting pretty icons, but requires a Nerd Font.
|
||||
{ 'nvim-tree/nvim-web-devicons', enabled = vim.g.have_nerd_font },
|
||||
},
|
||||
config = function()
|
||||
-- Telescope is a fuzzy finder that comes with a lot of different things that
|
||||
-- it can fuzzy find! It's more than just a "file finder", it can search
|
||||
-- many different aspects of Neovim, your workspace, LSP, and more!
|
||||
--
|
||||
-- The easiest way to use Telescope, is to start by doing something like:
|
||||
-- :Telescope help_tags
|
||||
--
|
||||
-- After running this command, a window will open up and you're able to
|
||||
-- type in the prompt window. You'll see a list of `help_tags` options and
|
||||
-- a corresponding preview of the help.
|
||||
--
|
||||
-- Two important keymaps to use while in Telescope are:
|
||||
-- - Insert mode: <c-/>
|
||||
-- - Normal mode: ?
|
||||
--
|
||||
-- This opens a window that shows you all of the keymaps for the current
|
||||
-- Telescope picker. This is really useful to discover what Telescope can
|
||||
-- do as well as how to actually do it!
|
||||
|
||||
-- [[ Configure Telescope ]]
|
||||
-- See `:help telescope` and `:help telescope.setup()`
|
||||
require("telescope").setup({
|
||||
-- You can put your default mappings / updates / etc. in here
|
||||
-- All the info you're looking for is in `:help telescope.setup()`
|
||||
--
|
||||
-- defaults = {
|
||||
-- mappings = {
|
||||
-- i = { ['<c-enter>'] = 'to_fuzzy_refine' },
|
||||
-- },
|
||||
-- },
|
||||
-- pickers = {}
|
||||
extensions = {
|
||||
["ui-select"] = {
|
||||
require("telescope.themes").get_dropdown(),
|
||||
},
|
||||
},
|
||||
})
|
||||
-- [[ Configure Telescope ]]
|
||||
-- See `:help telescope` and `:help telescope.setup()`
|
||||
require('telescope').setup {
|
||||
-- You can put your default mappings / updates / etc. in here
|
||||
-- All the info you're looking for is in `:help telescope.setup()`
|
||||
--
|
||||
-- defaults = {
|
||||
-- mappings = {
|
||||
-- i = { ['<c-enter>'] = 'to_fuzzy_refine' },
|
||||
-- },
|
||||
-- },
|
||||
-- pickers = {}
|
||||
extensions = {
|
||||
['ui-select'] = {
|
||||
require('telescope.themes').get_dropdown(),
|
||||
},
|
||||
},
|
||||
defaults = {
|
||||
mappings = {
|
||||
i = {
|
||||
-- Insert mode mappings for Telescope
|
||||
['<C-j>'] = 'move_selection_next',
|
||||
['<C-k>'] = 'move_selection_previous',
|
||||
},
|
||||
n = {
|
||||
-- Normal mode mappings for Telescope
|
||||
['<C-j>'] = 'move_selection_next',
|
||||
['<C-k>'] = 'move_selection_previous',
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
-- Enable Telescope extensions if they are installed
|
||||
pcall(require("telescope").load_extension, "fzf")
|
||||
pcall(require("telescope").load_extension, "ui-select")
|
||||
-- Enable Telescope extensions if they are installed
|
||||
pcall(require('telescope').load_extension, 'fzf')
|
||||
pcall(require('telescope').load_extension, 'ui-select')
|
||||
|
||||
-- See `:help telescope.builtin`
|
||||
local builtin = require("telescope.builtin")
|
||||
vim.keymap.set("n", "<leader>sh", builtin.help_tags, { desc = "[S]earch [H]elp" })
|
||||
vim.keymap.set("n", "<leader>sk", builtin.keymaps, { desc = "[S]earch [K]eymaps" })
|
||||
vim.keymap.set("n", "<leader>sf", builtin.find_files, { desc = "[S]earch [F]iles" })
|
||||
vim.keymap.set("n", "<leader>ss", builtin.builtin, { desc = "[S]earch [S]elect Telescope" })
|
||||
vim.keymap.set("n", "<leader>sw", builtin.grep_string, { desc = "[S]earch current [W]ord" })
|
||||
vim.keymap.set("n", "<leader>sg", builtin.live_grep, { desc = "[S]earch by [G]rep" })
|
||||
vim.keymap.set("n", "<leader>sd", builtin.diagnostics, { desc = "[S]earch [D]iagnostics" })
|
||||
vim.keymap.set("n", "<leader>sr", builtin.resume, { desc = "[S]earch [R]esume" })
|
||||
vim.keymap.set("n", "<leader>s.", builtin.oldfiles, { desc = '[S]earch Recent Files ("." for repeat)' })
|
||||
vim.keymap.set("n", "<leader><leader>", builtin.buffers, { desc = "[ ] Find existing buffers" })
|
||||
-- See `:help telescope.builtin`
|
||||
local builtin = require 'telescope.builtin'
|
||||
vim.keymap.set('n', '<leader>sh', builtin.help_tags, { desc = '[S]earch [H]elp' })
|
||||
vim.keymap.set('n', '<leader>sk', builtin.keymaps, { desc = '[S]earch [K]eymaps' })
|
||||
vim.keymap.set('n', '<leader>sf', builtin.find_files, { desc = '[S]earch [F]iles' })
|
||||
vim.keymap.set('n', '<leader>ss', builtin.builtin, { desc = '[S]earch [S]elect Telescope' })
|
||||
vim.keymap.set('n', '<leader>sw', builtin.grep_string, { desc = '[S]earch current [W]ord' })
|
||||
vim.keymap.set('n', '<leader>sg', builtin.live_grep, { desc = '[S]earch by [G]rep' })
|
||||
vim.keymap.set('n', '<leader>sd', builtin.diagnostics, { desc = '[S]earch [D]iagnostics' })
|
||||
vim.keymap.set('n', '<leader>sr', builtin.resume, { desc = '[S]earch [R]esume' })
|
||||
vim.keymap.set('n', '<leader>s.', builtin.oldfiles, { desc = '[S]earch Recent Files ("." for repeat)' })
|
||||
vim.keymap.set('n', '<leader><leader>', builtin.buffers, { desc = '[ ] Find existing buffers' })
|
||||
|
||||
-- Slightly advanced example of overriding default behavior and theme
|
||||
vim.keymap.set("n", "<leader>/", function()
|
||||
-- You can pass additional configuration to Telescope to change the theme, layout, etc.
|
||||
builtin.current_buffer_fuzzy_find(require("telescope.themes").get_dropdown({
|
||||
winblend = 10,
|
||||
previewer = false,
|
||||
}))
|
||||
end, { desc = "[/] Fuzzily search in current buffer" })
|
||||
-- Slightly advanced example of overriding default behavior and theme
|
||||
vim.keymap.set('n', '<leader>/', function()
|
||||
-- You can pass additional configuration to Telescope to change the theme, layout, etc.
|
||||
builtin.current_buffer_fuzzy_find(require('telescope.themes').get_dropdown {
|
||||
winblend = 10,
|
||||
previewer = false,
|
||||
})
|
||||
end, { desc = '[/] Fuzzily search in current buffer' })
|
||||
|
||||
-- It's also possible to pass additional configuration options.
|
||||
-- See `:help telescope.builtin.live_grep()` for information about particular keys
|
||||
vim.keymap.set("n", "<leader>s/", function()
|
||||
builtin.live_grep({
|
||||
grep_open_files = true,
|
||||
prompt_title = "Live Grep in Open Files",
|
||||
})
|
||||
end, { desc = "[S]earch [/] in Open Files" })
|
||||
-- It's also possible to pass additional configuration options.
|
||||
-- See `:help telescope.builtin.live_grep()` for information about particular keys
|
||||
vim.keymap.set('n', '<leader>s/', function()
|
||||
builtin.live_grep {
|
||||
grep_open_files = true,
|
||||
prompt_title = 'Live Grep in Open Files',
|
||||
}
|
||||
end, { desc = '[S]earch [/] in Open Files' })
|
||||
|
||||
-- Shortcut for searching your Neovim configuration files
|
||||
vim.keymap.set("n", "<leader>sn", function()
|
||||
builtin.find_files({ cwd = vim.fn.stdpath("config") })
|
||||
end, { desc = "[S]earch [N]eovim files" })
|
||||
end,
|
||||
-- Shortcut for searching your Neovim configuration files
|
||||
vim.keymap.set('n', '<leader>sn', function()
|
||||
builtin.find_files { cwd = vim.fn.stdpath 'config' }
|
||||
end, { desc = '[S]earch [N]eovim files' })
|
||||
end,
|
||||
}
|
||||
|
||||
8
lua/plugins/vectorcode.lua
Normal file
8
lua/plugins/vectorcode.lua
Normal file
@@ -0,0 +1,8 @@
|
||||
require('helpers').edit_cf('pv', '/lua/plugins/vectorcode.lua')
|
||||
return {
|
||||
'Davidyz/VectorCode',
|
||||
version = '*', -- optional, depending on whether you're on nightly or release
|
||||
dependencies = { 'nvim-lua/plenary.nvim' },
|
||||
build = 'pipx upgrade vectorcode',
|
||||
cmd = 'VectorCode', -- if you're lazy-loading VectorCode
|
||||
}
|
||||
4
lua/plugins/wakatime.lua
Normal file
4
lua/plugins/wakatime.lua
Normal file
@@ -0,0 +1,4 @@
|
||||
return {
|
||||
'wakatime/vim-wakatime',
|
||||
lazy = false
|
||||
}
|
||||
9
lua/plugins/yanky.lua
Normal file
9
lua/plugins/yanky.lua
Normal file
@@ -0,0 +1,9 @@
|
||||
-- For when I'm ready
|
||||
return {
|
||||
-- "gbprod/yanky.nvim",
|
||||
-- opts = {
|
||||
-- -- your configuration comes here
|
||||
-- -- or leave it empty to use the default settings
|
||||
-- -- refer to the configuration section below
|
||||
-- },
|
||||
}
|
||||
53
lua/utils/fidget_helper.lua
Normal file
53
lua/utils/fidget_helper.lua
Normal file
@@ -0,0 +1,53 @@
|
||||
local progress = require 'fidget.progress'
|
||||
local M = {}
|
||||
|
||||
M.handles = {}
|
||||
|
||||
function M:store_progress_handle(id, handle)
|
||||
M.handles[id] = handle
|
||||
end
|
||||
|
||||
function M:pop_progress_handle(id)
|
||||
local handle = M.handles[id]
|
||||
M.handles[id] = nil
|
||||
return handle
|
||||
end
|
||||
|
||||
function M:create_progress_handle(request)
|
||||
-- Ensure request.data and request.data.adapter exist before accessing them
|
||||
local strategy = request.data and request.data.strategy or 'unknown'
|
||||
local adapter_info = request.data and request.data.adapter or {}
|
||||
|
||||
return progress.handle.create {
|
||||
title = ' Requesting assistance (' .. strategy .. ')',
|
||||
message = 'In progress...',
|
||||
lsp_client = {
|
||||
name = M:llm_role_title(adapter_info),
|
||||
},
|
||||
}
|
||||
end
|
||||
|
||||
function M:llm_role_title(adapter)
|
||||
local parts = {}
|
||||
-- Use adapter.formatted_name if available, otherwise default
|
||||
local name = adapter.formatted_name or 'LLM'
|
||||
table.insert(parts, name)
|
||||
if adapter.model and adapter.model ~= '' then
|
||||
table.insert(parts, '(' .. adapter.model .. ')')
|
||||
end
|
||||
return table.concat(parts, ' ')
|
||||
end
|
||||
|
||||
function M:report_exit_status(handle, request)
|
||||
-- Ensure request.data exists before accessing status
|
||||
local status = request.data and request.data.status or 'unknown'
|
||||
if status == 'success' then
|
||||
handle.message = 'Completed'
|
||||
elseif status == 'error' then
|
||||
handle.message = ' Error'
|
||||
else -- Includes "cancelled" or any other status
|
||||
handle.message = ' Cancelled/Other'
|
||||
end
|
||||
end
|
||||
|
||||
return M
|
||||
Reference in New Issue
Block a user