- enhancement: Syntax check for assembly files.

Don't show debug tips in cpu info dialog
This commit is contained in:
Roy Qu 2023-02-27 08:53:39 +08:00
parent c9bb03350d
commit a768d74116
5 changed files with 18 additions and 4 deletions

View File

@ -13,6 +13,7 @@ Red Panda C++ Version 2.15
- fix: Search/replace with regex is not correctly handled.
- enhancement: Show descriptions mouse tip for assebmly instructions. (editor / cpu info dialog)
- fix: When completing resigter names, an extra '%' is wrongly added.
- enhancement: Syntax check for assembly files.
Red Panda C++ Version 2.14

View File

@ -98,6 +98,9 @@ QString Compiler::getFileNameFromOutputLine(QString &line) {
if (temp.compare("<stdin>", Qt::CaseInsensitive)==0 ) {
temp = mFilename;
return temp;
} else if (temp.compare("{standard input}", Qt::CaseInsensitive)==0 ) {
temp = mFilename;
return temp;
}
QFileInfo fileInfo(temp);

View File

@ -54,6 +54,14 @@ bool StdinCompiler::prepareForCompile()
strFileType = "C";
mCompiler = compilerSet()->CCompiler();
break;
case FileType::GAS:
mArguments += " -x assembler - ";
mArguments += getCCompileArguments(mOnlyCheckSyntax);
mArguments += getCIncludeArguments();
mArguments += getProjectIncludeArguments();
strFileType = "GAS";
mCompiler = compilerSet()->CCompiler();
break;
case FileType::CppSource:
case FileType::CppHeader:
case FileType::CHeader:

View File

@ -1903,7 +1903,8 @@ void Editor::onTooltipTimer()
break;
case TipType::Identifier:
if (pMainWindow->debugger()->executing() && !pMainWindow->debugger()->inferiorRunning())
s = getWordAtPosition(this,p, pBeginPos,pEndPos, WordPurpose::wpEvaluation); // debugging
if (mParentPageControl)
s = getWordAtPosition(this,p, pBeginPos,pEndPos, WordPurpose::wpEvaluation); // debugging
else if (!mCompletionPopup->isVisible()
&& !mHeaderCompletionPopup->isVisible()) {
expression = getExpressionAtPosition(p);
@ -4901,7 +4902,8 @@ void Editor::checkSyntaxInBack()
return;
if (!syntaxer())
return;
if (syntaxer()->language()!=QSynedit::ProgrammingLanguage::CPP)
if (syntaxer()->language()!=QSynedit::ProgrammingLanguage::CPP
&& syntaxer()->language()!=QSynedit::ProgrammingLanguage::ATTAssembly)
return;
pMainWindow->checkSyntaxInBack(this);
}

View File

@ -1873,14 +1873,14 @@ void MainWindow::checkSyntaxInBack(Editor *e)
if (!pSettings->editor().syntaxCheck()) {
return;
}
// if not devEditor.AutoCheckSyntax then
// Exit;
//not c or cpp file
FileType fileType = getFileType(e->filename());
if (fileType != FileType::CSource
&& fileType != FileType::CppSource
&& fileType != FileType::CHeader
&& fileType != FileType::CppHeader
&& fileType != FileType::GAS
)
return;
if (mCompilerManager->backgroundSyntaxChecking())