SyntaxDefinitionManager: Added [x]it! (https://xit.jotaen.net/) support.

Premake files added parameter options: --with-debug-symbols (release builds are built with debug symbols).
breeze theme: replaced tab close button with an inline SVG.
SyntaxColorScheme: now supports custom styles for code patterns.
DrawableSearcher: Now respects screen pixel density when loading SVG files.
Added support for backward-cpp (https://github.com/bombela/backward-cpp). Now release builds with symbols can report the stack-trace of any crash.
Updated nanosvg.
ecode: Fixed benchmark mode and frame rate limit.
ProjectDirectoryTree minor bug fix.
Some minor general bug fixes.
This commit is contained in:
Martín Lucas Golini
2022-08-28 16:24:29 -03:00
parent e222771afa
commit 343a6a84b3
19 changed files with 4913 additions and 143 deletions

View File

@@ -6,10 +6,21 @@ namespace ecode {
ProjectDirectoryTree::ProjectDirectoryTree( const std::string& path,
std::shared_ptr<ThreadPool> threadPool ) :
mPath( path ), mPool( threadPool ), mIsReady( false ), mIgnoreMatcher( path ) {
mPath( path ),
mPool( threadPool ),
mRunning( false ),
mIsReady( false ),
mIgnoreMatcher( path ) {
FileSystem::dirAddSlashAtEnd( mPath );
}
ProjectDirectoryTree::~ProjectDirectoryTree() {
if ( mRunning ) {
mRunning = false;
Lock l( mFilesMutex );
}
}
void ProjectDirectoryTree::scan( const ProjectDirectoryTree::ScanCompleteEvent& scanComplete,
const std::vector<std::string>& acceptedPatterns,
const bool& ignoreHidden ) {
@@ -18,6 +29,7 @@ void ProjectDirectoryTree::scan( const ProjectDirectoryTree::ScanCompleteEvent&
[&, acceptedPatterns, ignoreHidden] {
#endif
Lock l( mFilesMutex );
mRunning = true;
mIgnoreHidden = ignoreHidden;
mDirectories.push_back( mPath );
if ( !acceptedPatterns.empty() ) {
@@ -49,6 +61,7 @@ void ProjectDirectoryTree::scan( const ProjectDirectoryTree::ScanCompleteEvent&
getDirectoryFiles( mFiles, mNames, mPath, info, ignoreHidden, mIgnoreMatcher );
}
mIsReady = true;
mRunning = false;
#if EE_PLATFORM == EE_PLATFORM_EMSCRIPTEN && !defined( __EMSCRIPTEN_PTHREADS__ )
if ( scanComplete )
scanComplete( *this );
@@ -149,6 +162,8 @@ void ProjectDirectoryTree::getDirectoryFiles( std::vector<std::string>& files,
std::set<std::string> currentDirs,
const bool& ignoreHidden,
const IgnoreMatcherManager& ignoreMatcher ) {
if ( !mRunning )
return;
currentDirs.insert( directory );
std::string localDirPath( directory.substr(
ignoreMatcher.foundMatch() ? ignoreMatcher.getPath().size() : mPath.size() ) );