- Added highlighters for new languages (SQL, Erlang, Forth) with filetype recognition. - Updated and reorganized syntax files to maintain consistency and modularity. - Introduced LSP transport framing unit tests and JSON decoding/dispatch tests. - Refactored `LspManager`, integrating UTF-16/UTF-8 position conversions and robust diagnostics handling. - Enhanced server start/restart logic with workspace root detection and logging to improve LSP usability.
20 lines
590 B
C++
20 lines
590 B
C++
// PythonHighlighter.h - simple Python highlighter with triple-quote state
|
|
#pragma once
|
|
|
|
#include "LanguageHighlighter.h"
|
|
#include <unordered_set>
|
|
|
|
namespace kte {
|
|
class PythonHighlighter final : public StatefulHighlighter {
|
|
public:
|
|
PythonHighlighter();
|
|
|
|
void HighlightLine(const Buffer &buf, int row, std::vector<HighlightSpan> &out) const override;
|
|
|
|
LineState HighlightLineStateful(const Buffer &buf, int row, const LineState &prev,
|
|
std::vector<HighlightSpan> &out) const override;
|
|
|
|
private:
|
|
std::unordered_set<std::string> kws_;
|
|
};
|
|
} // namespace kte
|