feat: add LSP wrapper scripts for named containers
Add wrapper scripts for bash, docker, and marksman LSP servers to ensure containers use explicit names matching image names. Enables multiple Crush sessions to share LSP server containers with clean restart capability. - lsp-bash-wrapper.sh: Wrapper for bash-language-server - lsp-docker-wrapper.sh: Wrapper for docker-language-server - lsp-marksman-wrapper.sh: Wrapper for marksman markdown LSP Each wrapper cleans up existing containers and starts new container with --name flag to ensure consistent naming.
This commit is contained in:
18
lsp-bash-wrapper.sh
Executable file
18
lsp-bash-wrapper.sh
Executable file
@@ -0,0 +1,18 @@
|
||||
#!/bin/sh
|
||||
# Wrapper script for bash-language-server LSP
|
||||
# Ensures clean container with proper name
|
||||
|
||||
CONTAINER_NAME="kneldevstack-aimiddleware-bash-language-server"
|
||||
IMAGE_NAME="kneldevstack-aimiddleware-bash-language-server"
|
||||
|
||||
# Remove existing container if it exists (in any state)
|
||||
if docker ps -a --filter "name=${CONTAINER_NAME}" --format '{{.Names}}' | grep -q "^${CONTAINER_NAME}$"; then
|
||||
docker rm -f "${CONTAINER_NAME}" > /dev/null 2>&1
|
||||
# Wait for container to be fully removed
|
||||
while docker ps -a --filter "name=${CONTAINER_NAME}" --format '{{.Names}}' | grep -q "^${CONTAINER_NAME}$"; do
|
||||
sleep 0.1
|
||||
done
|
||||
fi
|
||||
|
||||
# Start the LSP server with explicit name
|
||||
exec docker run -i --rm --name "${CONTAINER_NAME}" "${IMAGE_NAME}" start "$@"
|
||||
Reference in New Issue
Block a user