continue icon indicating copy to clipboard operation
continue copied to clipboard

No signature in repo-map for C/C++ files

Open mkende opened this issue 6 months ago • 0 comments

Before submitting your bug report

Relevant environment info

- OS: Windows 11
- Continue version: 1.0.6
- IDE version: VS Code 1.99.2
- Model: codestral-latest
- config:
  
{
  "models": [
    {
      "title": "Codestral",
      "provider": "mistral",
      "model": "codestral-latest",
      "apiKey": ""
    },
    {
      "model": "gpt-4o",
      "title": "GPT-4o",
      "systemMessage": "You are an expert software developer. You give helpful and concise responses.",
      "apiKey": "",
      "provider": "openai"
    },
    {
      "model": "claude-3-5-sonnet-latest",
      "title": "Claude 3.5 Sonnet",
      "apiKey": "",
      "provider": "anthropic"
    }
  ],
  "tabAutocompleteModel": {
    "title": "Codestral",
    "provider": "mistral",
    "model": "codestral-latest",
    "apiKey": ""
  },
  "customCommands": [
    {
      "name": "test",
      "prompt": "{{{ input }}}\n\nWrite a comprehensive set of unit tests for the selected code. It should setup, run tests that check for correctness including important edge cases, and teardown. Ensure that the tests are complete and sophisticated. Give the tests just as chat output, don't edit any file.",
      "description": "Write unit tests for highlighted code"
    }
  ],
  "contextProviders": [
    {
      "name": "file",
      "params": {}
    },
    {
      "name": "code",
      "params": {}
    },
    {
      "name": "currentFile",
      "params": {}
    },
    {
      "name": "docs",
      "params": {}
    },
    {
      "name": "diff",
      "params": {}
    },
    {
      "name": "open",
      "params": {}
    },
    {
      "name": "repo-map",
      "params": {
        "includeSignatures": true
      }
    },
    {
      "name": "folder",
      "params": {}
    },
    {
      "name": "codebase",
      "params": {}
    }
  ],
  "slashCommands": [
    {
      "name": "share",
      "description": "Export the current chat session to markdown"
    },
    {
      "name": "cmd",
      "description": "Generate a shell command"
    },
    {
      "name": "commit",
      "description": "Generate a git commit message"
    }
  ]
}

Description

The repo map generated for C or C++ files has a list of symbols (functions, struct, etc.) but not their signature, just their names.

To reproduce

  1. Activate the repo-map provider in the Continue settings
  2. Start a chat session using that provider and select a folder that contains C or C++ files.
  3. Check the content of the repo-map file that was sent as context.

Log output

This is the continue prompt log:


system
<important_rules>
  Always include the language and file name in the info string when you write code blocks. If you are editing "src/main.py" for example, your code block should start with ' src/main.py'.
</important_rules>
user
Below is a repository map. 
For each file in the codebase, this map contains the name of the file, and the signature for any classes, methods, or functions in the file.

lexer.c:
	lexer 

lexer.h:
	Token 
	...
	TokenType 

parser.c:
	add_node_to_list 
	...
	free_ast 
	...
	main 
	...
	parse_comma_separated_expressions 
	...
	parser_error 
	...
	print_ast 

parser.h:
	AstNode 
	...
	AstNodeList 
	...
	AstNodeType 
	...
	AstNode_s 
	...
	ParserState 



src test

The option section:

{
  "model": "codestral-latest",
  "maxTokens": 4096
}

The rest of the Continue console:

assistant
Based on the repository map you provided, here's a summary of the files and their contents:

### lexer.c
- **File Name:** lexer.c
assistant

- **Language:** C
- **Functions:**
  - `lexer`

### lexer.h
- **File Name:** lexer.h
-
assistant
 **Language:** C
- **Structs/Enums:**
  - `Token`
  - `TokenType`

### parser.c
- **File Name
assistant
:** parser.c
- **Language:** C
- **Functions:**
  - `add_node_to_list`
  - `free_ast`
  - `
assistant
main`
  - `parse_comma_separated_expressions`
  - `parser_error`
  - `print_ast`

### parser.h
- **
assistant
File Name:** parser.h
- **Language:** C
- **Structs/Enums:**
  - `AstNode`
  - `AstNodeList
assistant
`
  - `AstNodeType`
  - `AstNode_s`
  - `ParserState`

### src test
- **File Name:** src test
assistant

- **Language:** Not specified
- **Contents:** Not specified

### Next Steps
To proceed, you can specify the tasks or questions you have regarding
assistant
 this codebase. For example:
- You might want to know more about a specific function or struct.
- You might need help with debugging or optimizing certain parts
assistant
 of the code.
- You might want to understand the overall architecture or flow of the codebase.

Please provide more details so I can assist you better!

mkende avatar Apr 25 '25 21:04 mkende