From 4fe20a4f07256bc502ed075569f40c043236e85f Mon Sep 17 00:00:00 2001 From: Anton Grischenko Date: Thu, 12 Mar 2015 17:04:29 +0500 Subject: [PATCH] Possibility to opening created files --- README.md | 7 +++++-- bemy.js | 8 +++++++- config.json | 6 +++++- package.json | 2 +- 4 files changed, 18 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 9e51804..44225a2 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,9 @@ npm i bemy `-f [path]` — обязательная опция. Путь к БЕМ-сущности, относительно которой вызывается задача; `-p [file list]` — перечень типов создаваемых файлов, используемых в задаче создания. Доступны следующие типы файлов: `-p "css js deps priv bh"`. При этом можно использовать сокращенную записать `p c j b d`. Добавить свои типы и сокращения к ним можно с помощью config.json. `-g` — ключ, при наличии которого созданные файлы добавляются в git (иными словами просиходит git add над каждым создаваемым файлом); -`-c [config path]` — путь к файлу конфигурации. По умолчанию `config.json`. +`-c [config path]` — путь к файлу конфигурации. По умолчанию `config.json`. ; +`-o` — ключ, при наличии которого файл будет открыт сразу после создания в редакторе. Команда вызова редактора конфигурируется в config.json. + ###Задача создания Принимает набор аргументов в виде типов файлов (или их сокращений) и создает файлы, используя шаблоны в поставке тулзы. @@ -58,4 +60,5 @@ npm i bemy Конфигурационный файл config.json располагается в корне тулзы. В нем хранятся сокращения, расширения создаваемых файлов и пути к шаблонам. `suffixes` — перечень расширений файлов, соответствующих сокращениям. Сокращения — это список, полученный из опции `-p`. `file-templates` — список путей к шаблонам, соответствующим сокращениям. -`deps_task` — конфигурирование автотаски по депсам. `files` — массив списка типов файлов, которые будут добавлены при создании структуры элементов и модификаторов. +`deps_task` — конфигурирование автотаски по депсам. `files` — массив списка типов файлов, которые будут добавлены при создании структуры элементов и модификаторов. +`editor-open-command` — Команда вызова редактора. С ней конкатенироватся путь к файлу при вызове bemy с ключом `-o`, и команда будет выполнена после создания файла. diff --git a/bemy.js b/bemy.js index 1bfac46..4a1e59b 100644 --- a/bemy.js +++ b/bemy.js @@ -32,7 +32,7 @@ var task = options.t || 'auto'; tasks[task](); function startCreating(fileTypes){ - return fileTypes.forEach(function(fileType){ + fileTypes.forEach(function(fileType){ createFileFromTemplate(fileType); }); } @@ -137,6 +137,12 @@ function createFile(file, type, trg, modVal){ if (!fs.existsSync(p)) fs.writeFileSync(p, file); if (options.g) gitAddTrg(trg, p); + + if (options.o) { + exec(config['editor-open-command'] + ' ' + p, function (error, stdout, stderr) { + if (stderr) console.error(stderr); + }); + } } function getTemplate(tmpPath){ diff --git a/config.json b/config.json index fffb47f..9e3ae79 100644 --- a/config.json +++ b/config.json @@ -11,6 +11,7 @@ "priv": ".priv.js", "p": ".priv.js" }, + "file-templates": { "js": "tmp/js-template.js", "j": "tmp/js-template.js", @@ -23,7 +24,10 @@ "priv": "tmp/priv-template.js", "p": "tmp/priv-template.js" }, + "deps_task": { "files": [ "css" ] - } + }, + + "editor-open-command": "/Applications/WebStorm.app/Contents/MacOS/webide" } \ No newline at end of file diff --git a/package.json b/package.json index 74233d7..5216ddd 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "type": "git", "url": "https://github.com/f0rmat1k/bemy.git" }, - "version": "1.3.4", + "version": "1.4.0", "keywords": [ "bem", "BEM Tools"