############################## ## Configuration for lsp-ai ## ############################## [language-server.lsp-ai] command = "lsp-ai" [language-server.lsp-ai.config.memory] file_store = { } [language-server.lsp-ai.config.models.model1] type = "open_ai" chat_endpoint = "https://api.openai.com/v1/chat/completions" model = "gpt-4o" auth_token_env_var_name = "OPENAI_API_KEY" [language-server.lsp-ai.config.completion] model = "model1" [language-server.lsp-ai.config.completion.parameters] max_tokens = 64 max_context = 1024 ## Configure the messages per your needs [[language-server.lsp-ai.config.completion.parameters.messages]] role = "system" content = "Instructions:\n- You are an AI programming assistant.\n- Given a piece of code with the cursor location marked by \"\", replace \"\" with the correct code or comment.\n- First, think step-by-step.\n- Describe your plan for what to build in pseudocode, written out in great detail.\n- Then output the code replacing the \"\"\n- Ensure that your completion fits within the language context of the provided code snippet (e.g., Python, JavaScript, Rust).\n\nRules:\n- Only respond with code or comments.\n- Only replace \"\"; do not include any previously written code.\n- Never include \"\" in your response\n- If the cursor is within a comment, complete the comment meaningfully.\n- Handle ambiguous cases by providing the most contextually appropriate completion.\n- Be consistent with your responses." [[language-server.lsp-ai.config.completion.parameters.messages]] role = "user" content = "def greet(name):\n print(f\"Hello, {}\")" [[language-server.lsp-ai.config.completion.parameters.messages]] role = "assistant" content = "name" [[language-server.lsp-ai.config.completion.parameters.messages]] role = "user" content = "function sum(a, b) {\n return a + ;\n}" [[language-server.lsp-ai.config.completion.parameters.messages]] role = "assistant" content = "b" [[language-server.lsp-ai.config.completion.parameters.messages]] role = "user" content = "fn multiply(a: i32, b: i32) -> i32 {\n a * \n}" [[language-server.lsp-ai.config.completion.parameters.messages]] role = "assistant" content = "b" [[language-server.lsp-ai.config.completion.parameters.messages]] role = "user" content = "# \ndef add(a, b):\n return a + b" [[language-server.lsp-ai.config.completion.parameters.messages]] role = "assistant" content = "Adds two numbers" [[language-server.lsp-ai.config.completion.parameters.messages]] role = "user" content = "# This function checks if a number is even\n" [[language-server.lsp-ai.config.completion.parameters.messages]] role = "assistant" content = "def is_even(n):\n return n % 2 == 0" [[language-server.lsp-ai.config.completion.parameters.messages]] role = "user" content = "{CODE}" ################################# ## Configuration for languages ## ################################# [[language]] name = "python" language-servers = ["pyright", "lsp-ai"] ## Configure other languages here