getCodeActions method

Future<List> getCodeActions({
  1. required String filePath,
  2. required int startLine,
  3. required int startCharacter,
  4. required int endLine,
  5. required int endCharacter,
  6. List<Map<String, dynamic>> diagnostics = const [],
})

Retrieves available code actions at a given range.

Includes quick fixes, refactors, and source actions.

Implementation

Future<List<dynamic>> getCodeActions({
  required String filePath,
  required int startLine,
  required int startCharacter,
  required int endLine,
  required int endCharacter,
  List<Map<String, dynamic>> diagnostics = const [],
}) async {
  final response = await _sendRequest(
    method: 'textDocument/codeAction',
    params: {
      'textDocument': {'uri': Uri.file(filePath).toString()},
      'range': {
        'start': {'line': startLine, 'character': startCharacter},
        'end': {'line': endLine, 'character': endCharacter},
      },
      'context': {'diagnostics': diagnostics},
    },
  );

  final result = response['result'];
  if (result is! List) return [];
  return result;
}