开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
捐赠
捐赠前请先登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
1 Star 0 Fork 0

Codeya-IDE/Codeya-IDE

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (1)
master
master
分支 (1)
master
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (1)
master
codeya-ide
/
src
/
plugins
/
python
/
lexer
/
scilexerpython.cpp
codeya-ide
/
src
/
plugins
/
python
/
lexer
/
scilexerpython.cpp
scilexerpython.cpp 5.00 KB
一键复制 编辑 原始数据 按行查看 历史
Lu Zhen 提交于 2026年02月02日 14:11 +08:00 . feat: init
// SPDX-FileCopyrightText: 2024 - 2025 UnionTech Software Technology Co., Ltd.
//
// SPDX-License-Identifier: GPL-3.0-or-later
#include "scilexerpython.h"
#include <DGuiApplicationHelper>
#include <QColor>
#include <QFont>
#include <QFileInfo>
DGUI_USE_NAMESPACE
SciLexerPython::SciLexerPython(QObject *parent)
: AbstractLexerProxy(parent)
{
}
const char *SciLexerPython::language() const
{
return "Python";
}
const char *SciLexerPython::lexer() const
{
return "python";
}
QString SciLexerPython::description(int style) const
{
switch (style) {
case Default:
return tr("Default");
case Comment:
return tr("Comment");
case Number:
return tr("Number");
case DoubleQuotedString:
return tr("Double-quoted string");
case SingleQuotedString:
return tr("Single-quoted string");
case Keyword:
return tr("Keyword");
case TripleSingleQuotedString:
return tr("Triple single-quoted string");
case TripleDoubleQuotedString:
return tr("Triple double-quoted string");
case ClassName:
return tr("Class name");
case FunctionMethodName:
return tr("Function or method name");
case Operator:
return tr("Operator");
case Identifier:
return tr("Identifier");
case CommentBlock:
return tr("Comment block");
case UnclosedString:
return tr("Unclosed string");
case HighlightedIdentifier:
return tr("Highlighted identifier");
case Decorator:
return tr("Decorator");
case DoubleQuotedFString:
return tr("Double-quoted f-string");
case SingleQuotedFString:
return tr("Single-quoted f-string");
case TripleSingleQuotedFString:
return tr("Triple single-quoted f-string");
case TripleDoubleQuotedFString:
return tr("Triple double-quoted f-string");
}
return QString();
}
bool SciLexerPython::isSupport(const QString &file) const
{
QFileInfo info(file);
return info.suffix().compare("py", Qt::CaseInsensitive) == 0;
}
int SciLexerPython::blockLookback() const
{
return 0;
}
const char *SciLexerPython::blockStart(int *style) const
{
if (style)
*style = Operator;
return ":";
}
int SciLexerPython::braceStyle() const
{
return Operator;
}
QColor SciLexerPython::defaultColor(int style) const
{
bool isDarkTheme = DGuiApplicationHelper::instance()->themeType() == DGuiApplicationHelper::DarkType;
switch (style) {
case Default:
return isDarkTheme ? QColor("#d6cf9a") : QColor("#000000");
case Comment:
case CommentBlock:
return isDarkTheme ? QColor("#a8abb0") : QColor("#008000");
case Number:
return isDarkTheme ? QColor("#8a602c") : QColor("#000080");
case UnclosedString:
case DoubleQuotedString:
case SingleQuotedString:
case DoubleQuotedFString:
case SingleQuotedFString:
case TripleSingleQuotedString:
case TripleDoubleQuotedString:
case TripleSingleQuotedFString:
case TripleDoubleQuotedFString:
return isDarkTheme ? QColor("#d69545") : QColor("#008000");
case Keyword:
return isDarkTheme ? QColor("#ff8080") : QColor("#800080");
case ClassName:
return isDarkTheme ? QColor("#bcf0ff") : QColor("#000000");
case FunctionMethodName:
return isDarkTheme ? QColor("#56a8f5") : QColor("#00627a");
case Operator:
case Identifier:
break;
case HighlightedIdentifier:
return isDarkTheme ? QColor("#aa4926") : QColor("#660099");
case Decorator:
return isDarkTheme ? QColor("#b3ae60") : QColor("#9e880d");
}
return AbstractLexerProxy::defaultColor(style);
}
bool SciLexerPython::defaultEolFill(int style) const
{
if (style == UnclosedString)
return true;
return AbstractLexerProxy::defaultEolFill(style);
}
QColor SciLexerPython::defaultPaper(int style) const
{
if (style == UnclosedString) {
bool isDarkTheme = DGuiApplicationHelper::instance()->themeType() == DGuiApplicationHelper::DarkType;
return isDarkTheme ? QColor("#fa6675") : QColor("#ffcccc");
}
return AbstractLexerProxy::defaultPaper(style);
}
const char *SciLexerPython::keywords(int set) const
{
if (set != 1)
return nullptr;
return "and as assert break class continue def del elif else except exec "
"finally for from global if import in is lambda None not or pass "
"print raise return try while with yield";
}
void SciLexerPython::refreshProperties()
{
emit propertyChanged("fold.comment.python", "0");
emit propertyChanged("fold.compact", "1");
emit propertyChanged("fold.quotes.python", "0");
emit propertyChanged("tab.timmy.whinge.level", "0");
emit propertyChanged("lexer.python.strings.over.newline", "0");
emit propertyChanged("lexer.python.strings.u", "1");
emit propertyChanged("lexer.python.literals.binary", "1");
emit propertyChanged("lexer.python.strings.b", "1");
emit propertyChanged("lexer.python.keywords2.no.sub.identifiers", "0");
}
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/Codeya-IDE/codeya-ide.git
git@gitee.com:Codeya-IDE/codeya-ide.git
Codeya-IDE
codeya-ide
Codeya-IDE
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /