From 6b28cb6a93e4470bab9db4c6f0edea6b45d153e9 Mon Sep 17 00:00:00 2001 From: Stephan Unverwerth Date: Mon, 19 Sep 2016 21:06:31 +0200 Subject: [PATCH] Moved utility functions to utils.php --- composer.json | 3 ++- src/LanguageServer.php | 14 ++++---------- src/utils.php | 31 +++++++++++++++++++++++++++++++ 3 files changed, 37 insertions(+), 11 deletions(-) create mode 100644 src/utils.php diff --git a/composer.json b/composer.json index 853fb8e..2efccb4 100644 --- a/composer.json +++ b/composer.json @@ -34,7 +34,8 @@ "autoload": { "psr-4": { "LanguageServer\\": "src/" - } + }, + "files" : ["src/utils.php"] }, "autoload-dev": { "psr-4": { diff --git a/src/LanguageServer.php b/src/LanguageServer.php index 79abc83..ac36313 100644 --- a/src/LanguageServer.php +++ b/src/LanguageServer.php @@ -129,13 +129,7 @@ class LanguageServer extends \AdvancedJsonRpc\Dispatcher */ private function indexProject(string $rootPath) { - $dir = new \RecursiveDirectoryIterator($rootPath); - $ite = new \RecursiveIteratorIterator($dir); - $files = new \RegexIterator($ite, '/^.+\.php$/i', \RegexIterator::GET_MATCH); - $fileList = array(); - foreach($files as $file) { - $fileList = array_merge($fileList, $file); - } + $fileList = findFilesRecursive($rootPath, '/^.+\.php$/i'); $numTotalFiles = count($fileList); $startTime = microtime(true); @@ -143,8 +137,7 @@ class LanguageServer extends \AdvancedJsonRpc\Dispatcher $processFile = function() use (&$fileList, &$processFile, $rootPath, $numTotalFiles, $startTime) { if ($file = array_pop($fileList)) { - $uri = 'file://'.($file[0] == '/' || $file[0] == '\\' ? '' : '/').str_replace('\\', '/', $file); - + $uri = pathToUri($file); $fileNum = $numTotalFiles - count($fileList); $shortName = substr($file, strlen($rootPath)+1); $this->client->window->logMessage(3, "Parsing file $fileNum/$numTotalFiles: $shortName."); @@ -155,7 +148,8 @@ class LanguageServer extends \AdvancedJsonRpc\Dispatcher } else { $duration = (int)(microtime(true) - $startTime); - $this->client->window->logMessage(3, "All PHP files parsed in $duration seconds."); + $mem = memory_get_usage(true); + $this->client->window->logMessage(3, "All PHP files parsed in $duration seconds. $mem bytes allocated."); } }; diff --git a/src/utils.php b/src/utils.php new file mode 100644 index 0000000..2743439 --- /dev/null +++ b/src/utils.php @@ -0,0 +1,31 @@ +