diff --git a/lsp-bash-wrapper.sh b/lsp-bash-wrapper.sh new file mode 100755 index 0000000..d5e5b5e --- /dev/null +++ b/lsp-bash-wrapper.sh @@ -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 "$@" diff --git a/lsp-docker-wrapper.sh b/lsp-docker-wrapper.sh new file mode 100755 index 0000000..ce0e676 --- /dev/null +++ b/lsp-docker-wrapper.sh @@ -0,0 +1,18 @@ +#!/bin/sh +# Wrapper script for docker-language-server LSP +# Ensures clean container with proper name + +CONTAINER_NAME="kneldevstack-aimiddleware-docker-language-server" +IMAGE_NAME="kneldevstack-aimiddleware-docker-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 --stdio "$@" diff --git a/lsp-marksman-wrapper.sh b/lsp-marksman-wrapper.sh new file mode 100755 index 0000000..5f83224 --- /dev/null +++ b/lsp-marksman-wrapper.sh @@ -0,0 +1,18 @@ +#!/bin/sh +# Wrapper script for marksman markdown LSP +# Ensures clean container with proper name + +CONTAINER_NAME="kneldevstack-aimiddleware-marksman" +IMAGE_NAME="kneldevstack-aimiddleware-marksman" + +# 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}" server "$@"