Autocompleting ssh, rake, cap command parameters using PowerShell
I have mentioned in my previous posts that PowerShell has excellent and customizabme autocompletion support.
And some awesome plugins like powertab exist to take this functionality to another level.
Here is one easy way you can customize autocompletion easily by writing a couple of lines of code.
Open your PowerShell profile file (for help see here) and create a function with name "global:TabExpansion" in it.
This function basically overrides default autocompletion and sends your values to the prompt. For example for it to read your ssh files and display hosts in it the function would look something like this:
# customized tab expansion
function global:TabExpansion {
param($line, $lastWord)
if ($line -match 'ssh'){
return cat C:\Users\Gaurav\.ssh\config | Select-String '^Host ' | % { if($_.Line -match "^Host ($lastword\S*)" ){ $matches[1] }}
}
}
Using RubyAmf for creating a CRUD application in Rails
CRUD applications can be easily created using Ruby on Rails as the backend and Flex as the frontend app using the XML format as demonstrated here.
Another way to create such applications is using the AMF protocol which is optimized for network communications and stores objects in binary format so consumes less bandwidth. Another compelling reason for using this library is that it doesn’t feel like a hack as it integrates very nicely with Rails :)
The Ruby port of this protocol known as RubyAmf can be downloaded from from here. More information about this protocol can be found here.
Lets start making the application.
Create a Rails Application:
1: > rails amf_demo
This will create a rails application. Please note that I am using Rails 2.1.2 for this example and it is not tested on any other Rails version.
Generate a scaffold:
1: > ruby script/generate scaffold blog_post title:string body:text
Create Tables and run Migrations:
1: > rake db:migrate
1: > rake db:create
Multiple ways to open PowerShell in the current Explorer window
These techniques are generic and can be used for other items like command prompt as well. A word of caution, everything given below involves fiddling with the registry so please backup your system’s registry or create a restore point before trying this out.
1) Adding it to Vista Explorer’s toolbar:
This is the most convenient one in my opinion, but requires most work to enable it.
Firstly, navigate to the following registry key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\FolderTypes\{7d49d726-3c21-4f05-99aa-fdc2c9474656}
Context sensitive auto-completion using PowerShell, PowerTab and GIT
Powertab is an Awesome PowerShell TabExpansion extension. It extends the default PowerShell autocompletion and shows the results like:
The best part is that it is easily customizable.
One way to customize it is by editing it Tab Expansion database file which is located in your powershell profile directory:
TabExpansion.xml
Displaying GIT Branch on your PowerShell prompt
PowerShell is a command line shell like the command prompt (cmd.exe) but with a lot more features. It can be downloaded from here.
One of the features is that you can change the default prompt. Prompt can be changed by overriding the function with name “prompt”.
This function can be declared inside the PowerShell profile file which has the path:
C:\Users\Gaurav\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
If the file does not exist then you will need to create this file. Declaring the following function inside the profile file will change the prompt.
1: function prompt {
2: return "prompt> "
3: }
to:
Blogroll
Recent Posts
- Autocompleting ssh, rake, cap command parameters using PowerShell
- Using RubyAmf for creating a CRUD application in Rails
- Multiple ways to open PowerShell in the current Explorer window
- Context sensitive auto-completion using PowerShell, PowerTab and GIT
- Displaying GIT Branch on your PowerShell prompt
XBox Live
Songs I like
Categories
- adobe (4)
- amarok (1)
- C# (2)
- chat application (1)
- crud (2)
- cygwin (1)
- explorer (1)
- expression blend (1)
- flex (4)
- FOSS (2)
- free (1)
- GIT (3)
- ID3 (1)
- java (1)
- microsoft (3)
- mxml (2)
- nokia (1)
- open source (5)
- perl (1)
- powerpoint (2)
- powershell (3)
- rails (3)
- right click (1)
- ruby (9)
- ruby on rails (3)
- security (3)
- silverlight (4)
- smart playlist (1)
- socket (1)
- software (7)
- ssh (1)
- sudo (1)
- tabs (1)
- tomcat (1)
- user interface (6)
- vista (9)
- vista, security (2)
- visual studio 2008 (1)
- win32ole (1)
- windows (13)
- windows media player (1)
- wpf (1)
- xaml (4)
- XP (3)
