Sha256: 1c1086f1ec52716cb57e15a4cf25d980d9964fd3fe4a3bc3beca36f61dc10dc4

Contents?: true

Size: 1.46 KB

Versions: 10

Compression:

Stored size: 1.46 KB

Contents

// LaunchBar Action Script

function run() {
	settingsItem = {
		'title' : 'Choose Snippets Folder',
		'action' : 'setFolder',
		'label' : 'Choose',
		'subtitle' : ''
	}
	if (Action.preferences.snippetsFolder) {
		settingsItem.subtitle = Action.preferences.snippetsFolder;
	}
	return [settingsItem];
}

function runWithString(string) {
	var folder = Action.preferences.snippetsFolder;
	var result = LaunchBar.execute('/usr/bin/env', 'ruby' , 'snibbets.rb', '-o', 'launchbar', '-s', encodeURI(folder), encodeURI(string));
	if (result)
    	return JSON.parse(result);
    else
    	return {'title': 'No matches'}
}

function copyIt(item) {
	LaunchBar.setClipboardString(item);
	LaunchBar.openCommandURL('hide'); // for some reason LaunchBar.hide() doesn't execute, but this does. Sometimes.
	LaunchBar.hide();
}

function pasteIt(item) {
	LaunchBar.paste(item.code);
	LaunchBar.openCommandURL('hide');
	LaunchBar.hide();
}

function setFolder(item) {
  LaunchBar.displayInLargeType({
      title: 'Choosing folder'
  });
  var defaultFolder = LaunchBar.homeDirectory;
  if (Action.preferences.snippetsFolder) {
  	defaultFolder = Action.preferences.snippetsFolder;
  }
  var k = LaunchBar.executeAppleScript(
   'set _default to POSIX file "' + defaultFolder + '" as alias \n' +
   'set _folder to choose folder with prompt "Select Snippets Folder" default location _default \n' +
   ' return POSIX path of _folder');
  if (k && k.length > 0) {
    Action.preferences.snippetsFolder = k.trim();
  }
}

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
snibbets-2.0.40 Snibbets.lbaction/Contents/Scripts/default.js
snibbets-2.0.39 Snibbets.lbaction/Contents/Scripts/default.js
snibbets-2.0.38 Snibbets.lbaction/Contents/Scripts/default.js
snibbets-2.0.37 Snibbets.lbaction/Contents/Scripts/default.js
snibbets-2.0.36 Snibbets.lbaction/Contents/Scripts/default.js
snibbets-2.0.35 Snibbets.lbaction/Contents/Scripts/default.js
snibbets-2.0.34 Snibbets.lbaction/Contents/Scripts/default.js
snibbets-2.0.33 Snibbets.lbaction/Contents/Scripts/default.js
snibbets-2.0.32 Snibbets.lbaction/Contents/Scripts/default.js
snibbets-2.0.31 Snibbets.lbaction/Contents/Scripts/default.js