Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Ohmyzsh
Commits
f1799de0
Commit
f1799de0
authored
Mar 29, 2019
by
Lucas A. Rodrigues
Committed by
Marc Cornellà
Mar 29, 2019
Browse files
Add drush plugin (#4490)
parent
a43cef34
Changes
3
Show whitespace changes
Inline
Side-by-side
plugins/drush/README.md
0 → 100644
View file @
f1799de0
# Drush
## Description
This plugin offers aliases and functions to make the work with drush easier and more productive.
To enable it, add the
`drush`
to your
`plugins`
array in
`~/.zshrc`
:
```
plugins=(... drush)
```
## Aliases
| Alias | Description | Command |
|-------|-----------------------------------------------------------------------|-----------------------------|
| dr | Display drush help | drush |
| drca | Clear all drupal caches. | drush cc all |
| drcb | Clear block cache. | drush cc block |
| drcg | Clear registry cache. | drush cc registry |
| drcj | Clear css-js cache. | drush cc css-js |
| drcm | Clear menu cache. | drush cc menu |
| drcml | Clear module-list cache. | drush cc module-list |
| drcr | Run all cron hooks in all active modules for specified site. | drush core-cron |
| drct | Clear theme-registry cache. | drush cc theme-registry |
| drcv | Clear views cache. (Make sure that the views module is enabled) | drush cc views |
| drdmp | Backup database in a new dump.sql file | drush drush sql-dump --ordered-dump --result-file=dump.sql|
| drf | Display features status | drush features |
| drfr | Revert a feature module on your site. | drush features-revert -y |
| drfu | Update a feature module on your site. | drush features-update -y |
| drfra | Revert all enabled feature module on your site. | drush features-revert-all |
| drif | Flush all derived images. | drush image-flush --all |
| drpm | Show a list of available modules. | drush pm-list --type=module |
| drst | Provides a birds-eye view of the current Drupal installation, if any. | drush core-status |
| drup | Apply any database updates required (as with running update.php). | drush updatedb |
| drups | List any pending database updates. | drush updatedb-status |
| drv | Show drush version. | drush version |
| drvd | Delete a variable. | drush variable-del |
| drvg | Get a list of some or all site variables and values. | drush variable-get |
| drvs | Set a variable. | drush variable-set |
## Functions
### dren
Download and enable one or more extensions (modules or themes).
Must be invoked with one or more parameters. e.g.:
`dren devel`
or
`dren devel module_filter views`
### drf
Edit drushrc, site alias, and Drupal settings.php files.
Can be invoked with one or without parameters. e.g.:
`drf 1`
### dris
Disable one or more extensions (modules or themes)
Must be invoked with one or more parameters. e.g.:
`dris devel`
or
`dris devel module_filter views`
### drpu
Uninstall one or more modules.
Must be invoked with one or more parameters. e.g.:
`drpu devel`
or
`drpu devel module_filter views`
### drnew
Creates a brand new drupal website.
Note: As soon as the installation is complete, drush will print a username and a random password into the terminal:
```
Installation complete. User name: admin User password: cf7t8yqNEm
```
## Additional features
### Autocomplete
The
[
completion script for drush
](
https://github.com/drush-ops/drush/blob/8.0.1/drush.complete.sh
)
comes enabled with this plugin.
So, it is possible to type a command:
```
drush sql
```
And as soon as the tab key is pressed, the script will display the available commands:
```
drush sql
sqlc sql-conf sql-create sql-dump sql-query sql-sanitize
sql-cli sql-connect sql-drop sqlq sqlsan sql-sync
```
plugins/drush/drush.complete.sh
0 → 100644
View file @
f1799de0
# BASH completion script for Drush.
#
# Place this in your /etc/bash_completion.d/ directory or source it from your
# ~/.bash_completion or ~/.bash_profile files. Alternatively, source
# examples/example.bashrc instead, as it will automatically find and source
# this file.
#
# If you're using ZSH instead of BASH, add the following to your ~/.zshrc file
# and source it.
#
# autoload bashcompinit
# bashcompinit
# source /path/to/your/drush.complete.sh
# Ensure drush is available.
which drush
>
/dev/null
||
alias
drush &> /dev/null
||
return
__drush_ps1
()
{
f
=
"
${
TMPDIR
:-
/tmp/
}
/drush-env-
${
USER
}
/drush-drupal-site-
$$
"
if
[
-f
$f
]
then
__DRUPAL_SITE
=
$(
cat
"
$f
"
)
else
__DRUPAL_SITE
=
"
$DRUPAL_SITE
"
fi
# Set DRUSH_PS1_SHOWCOLORHINTS to a non-empty value and define a
# __drush_ps1_colorize_alias() function for color hints in your Drush PS1
# prompt. See example.prompt.sh for an example implementation.
if
[
-n
"
${
__DRUPAL_SITE
-
}
"
]
&&
[
-n
"
${
DRUSH_PS1_SHOWCOLORHINTS
-
}
"
]
;
then
__drush_ps1_colorize_alias
fi
[[
-n
"
$__DRUPAL_SITE
"
]]
&&
printf
"
${
1
:-
(%s)
}
"
"
$__DRUPAL_SITE
"
}
# Completion function, uses the "drush complete" command to retrieve
# completions for a specific command line COMP_WORDS.
_drush_completion
()
{
# Set IFS to newline (locally), since we only use newline separators, and
# need to retain spaces (or not) after completions.
local
IFS
=
$'
\n
'
# The '< /dev/null' is a work around for a bug in php libedit stdin handling.
# Note that libedit in place of libreadline in some distributions. See:
# https://bugs.launchpad.net/ubuntu/+source/php5/+bug/322214
COMPREPLY
=(
$(
drush
--early
=
includes/complete.inc
"
${
COMP_WORDS
[@]
}
"
< /dev/null 2> /dev/null
)
)
}
# Register our completion function. We include common short aliases for Drush.
complete
-o
bashdefault
-o
default
-o
nospace
-F
_drush_completion d dr drush drush5 drush6 drush7 drush8 drush.php
plugins/drush/drush.plugin.zsh
0 → 100644
View file @
f1799de0
# Drush support.
function
dren
()
{
drush en
$@
-y
}
function
dris
()
{
drush pm-disable
$@
-y
}
function
drpu
()
{
drush pm-uninstall
$@
-y
}
function
drf
()
{
if
[[
$1
==
""
]]
then
drush core-config
else
drush core-config
--choice
=
$1
fi
}
function
drfi
()
{
if
[[
$1
==
"fields"
]]
;
then
drush field-info fields
elif
[[
$1
==
"types"
]]
;
then
drush field-info types
else
drush field-info
fi
}
function
drnew
()
{
cd
~
echo
"Website's name: "
read
WEBSITE_NAME
HOST
=
http://
$(
hostname
-i
)
/
if
[[
$WEBSITE_NAME
==
""
]]
then
MINUTES
=
$(
date
+%M:%S
)
WEBSITE_NAME
=
"Drupal-
$MINUTES
"
echo
"Your website will be named:
$WEBSITE_NAME
"
fi
drush dl drupal
--drupal-project-rename
=
$WEBSITE_NAME
echo
"Type your localhost directory: (Leave empty for /var/www/html/)"
read
DIRECTORY
if
[[
$DIRECTORY
==
""
]]
then
DIRECTORY
=
"/var/www/html/"
fi
echo
"Moving to
$DIRECTORY$WEBSITE_NAME
"
sudo mv
$WEBSITE_NAME
$DIRECTORY
cd
$DIRECTORY$WEBSITE_NAME
echo
"Database's user: "
read
DATABASE_USR
echo
"Database's password: "
read
-s
DATABASE_PWD
echo
"Database's name for your project: "
read
DATABASE
DB_URL
=
"mysql://
$DATABASE_USR
:
$DATABASE_PWD
@localhost/
$DATABASE
"
drush site-install standard
--db-url
=
$DB_URL
--site-name
=
$WEBSITE_NAME
open_command
$HOST$WEBSITE_NAME
echo
"Done"
}
# Aliases, sorted alphabetically.
alias
dr
=
"drush"
alias
drca
=
"drush cc all"
# Deprecated for Drush 8
alias
drcb
=
"drush cc block"
# Deprecated for Drush 8
alias
drcg
=
"drush cc registry"
# Deprecated for Drush 8
alias
drcj
=
"drush cc css-js"
alias
drcm
=
"drush cc menu"
alias
drcml
=
"drush cc module-list"
alias
drcr
=
"drush core-cron"
alias
drct
=
"drush cc theme-registry"
alias
drcv
=
"drush cc views"
alias
drdmp
=
"drush sql-dump --ordered-dump --result-file=dump.sql"
alias
drf
=
"drush features"
alias
drfr
=
"drush features-revert -y"
alias
drfu
=
"drush features-update -y"
alias
drfra
=
"drush features-revert-all"
alias
drif
=
"drush image-flush --all"
alias
drpm
=
"drush pm-list --type=module"
alias
drst
=
"drush core-status"
alias
drup
=
"drush updatedb"
alias
drups
=
"drush updatedb-status"
alias
drv
=
"drush version"
alias
drvd
=
"drush variable-del"
alias
drvg
=
"drush variable-get"
alias
drvs
=
"drush variable-set"
# Enable drush autocomplete support
autoload bashcompinit
bashcompinit
source
$(
dirname
$0
)
/drush.complete.sh
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment