Copy Relative Command
Copy's a command relative of your current active file!
Details
Installs
- Total 77
- Win 42
- Mac 24
- Linux 11
Jul 26 | Jul 25 | Jul 24 | Jul 23 | Jul 22 | Jul 21 | Jul 20 | Jul 19 | Jul 18 | Jul 17 | Jul 16 | Jul 15 | Jul 14 | Jul 13 | Jul 12 | Jul 11 | Jul 10 | Jul 9 | Jul 8 | Jul 7 | Jul 6 | Jul 5 | Jul 4 | Jul 3 | Jul 2 | Jul 1 | Jun 30 | Jun 29 | Jun 28 | Jun 27 | Jun 26 | Jun 25 | Jun 24 | Jun 23 | Jun 22 | Jun 21 | Jun 20 | Jun 19 | Jun 18 | Jun 17 | Jun 16 | Jun 15 | Jun 14 | Jun 13 | Jun 12 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
Mac | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Linux | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
Readme
- Source
- raw.githubusercontent.com
Copy Relative Command 📋️
A helpful command to copy a command to the clipboard based on configured settings, per language!
Installation 💻️
Within Sublime Text: - open the command palette (Windows/Linux: Ctrl + Shift + P, MacOS: Cmd + Shift + P) - search for “Package Control: Install Package” and press enter - search for “Copy Relative Command” and press enter on the mactching entry
Alternative installation 💻️
Within terminal:
- clone this repository into your respective operating systems Packages
directory
- Linux: cd ~/.config/sublime-text/Packages && git clone git@github.com:patoui/CopyRelativeCommand.git
- MacOS: cd ~/Library/Application Support/Sublime Text 3/Packages && git clone git@github.com:patoui/CopyRelativeCommand.git
Quick start 🚀️
- open command palette and search for “Copy Relative Command Settings”
- add language settings, example:
{
"languages": {
"php": [
{
"glob": "**Test.php",
"command": [
"vendor/bin/phpunit",
"{relative_path}",
"--filter={current_function_or_class}"
]
},
{
"glob": "*",
"command": ["php -l {relative_path}"],
},
],
}
}
- execute
Copy Relative Command
within the configured language, such as aphp
file in our above example:- if the open file (active view) is a file named
test/Unit/ExampleTest.php
and the cursor is within a function nametest_it_should_be_true
, the command copied to the clipboard would be:vendor/bin/phpunit test/Unit/ExampleTest.php --filter=test_it_should_be_true
- if the open file (active view) is a file named
app/Http/Controllers/UserController.php
the command copied to the clipboard would be:php -l app/Http/Controllers/UserController.php
- if the open file (active view) is a file named
- That's it! Add your own configurations for language commands 👌️
Add a key binding 🔑️
To add a key binding, open “Preferences / Key Bindings - User” and add:
// Copy Relative Command
{ "keys": ["alt+c", "alt+c"], "command": "copy_relative_command" }
With this setting pressing alt + c + c
will copy the configured relative command to your system clipboard
Settings 👨💻️
Key | Parent | Description |
---|---|---|
languages |
N/A | Contains a dictionary of all configured languages commands (e.g. php , go , python ) and has a special value of * to apply to all languages |
glob |
languages.* |
contains a Unix filename pattern to identify which files the current command applies to (see fnmatch and glob) |
command |
languages.* |
a list (array) of strings which represent the command to be run. The command key has a few helper values:
|
Project Settings 📽️
- Open your project settings
- edit existing project settings “Project: Edit Project”
- create new project settings “Project: Save As”
- Add the same settings as you would in your general settings under the
Copy Relative Command
key
{
"folders":
[
{
"path": "."
}
],
"settings": {
"Copy Relative Command": {
"languages": {
"php": [
{
"glob": "**Test.php",
"command": [
"vendor/bin/phpunit",
"{relative_path}",
"--filter={current_function_or_class}"
]
},
{
"glob": "*",
"command": ["php -l {relative_path}"],
},
]
}
}
}
}