1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- {CompositeDrawable, Directory, File} = require 'atom'
- QspFilesView = require './qsp-files-view'
- fs = require 'fs'
- QspDecoder = require './qsp-decoder'
- module.exports =
- subscriptions: null
- activate: () ->
- @subscriptions = new CompositeDisposable()
- @subscriptions.add(atom.commands.add('atom-workspace', {
- 'qsp:toggle': () => @toggle(),
- 'qsp:decode': () => @decode(),
- 'qsp:test': () => @test()
- }))
- deactivate: () -> @subscriptions.dispose()
- toggle: () -> console.log('Qsp was toggled!')
- decode: () ->
- files = @findQspFiles()
- view = new QspFilesView()
- view.initialize(files, @decodeQspFile)
- findQspFiles: (directory) ->
- found = []
- if !directory
- for innerDirectory in atom.project.getDirectories()
- found = found.concat(@findQspFiles(innerDirectory))
- else
- for entry in directory.getEntriesSync()
- if entry instanceof File and entry.getPath().slice((entry.getPath().lastIndexOf('.') - 1 >>> 0) + 2) == 'qsp'
- found.push(entry)
- if entry instanceof Directory
- found = found.concat(@findQspFiles(entry))
- return found
- decodeQspFile: (file) ->
- new QspDecoder(fs.readFileSync(file.getPath()), file)
- test: ->
- console.log atom.workspace.getActivePaneItem()
|