Snippets plugin

From Bluefish Wiki
Revision as of 19:44, 28 March 2010 by Fal7i (talk | contribs) (→‎Import snippets: SVN Rev 5864: add a default snippets file)
Jump to navigation Jump to search


 

The snippets plugin allows you to record reusable pieces of code. There are two categories of snippets:

  • insert strings
  • search and replace patterns

Snippets are organized in branches. The first time you open Bluefish 2 you have no snippets. You have to create them, or import a set of snippets.

Bluefish 1.3 users
you can copy your old snippets to Bluefish 2
$ cp ~/.bluefish-unstable/snippets ~/.bluefish/
Bluefish 1.0 users
to import your Bluefish 1 Custom menu in snippets you can use Olivier's python script convert_custom_menu_to_snippets.py.
  • put convert_custom_menu_to_snippets.py in ~/.bluefish/ directory
  • make the script executable: $ chmod a+x convert_custom_menu_to_snippets.py
  • run the script: $ ./convert_custom_menu_to_snippets.py > mysnippets.xml
  • import mysnippets.xml in your snippets plugin.
You also can find useful snippets in Snippets repository



Import snippets

The first time you open Bluefish 2 you have no snippets. You have to create them, or import a set of snippets. Right click in the snippets area open the snippets menu.

Man2 tip.gif SVN Rev 5864: add a default snippets file.
import item in snippets menu
import a xml snippets file
mediawiki(en) snippets are imported
click on the arrow of the branch title to expand it.
Man2 note.gif see Snippets usage to learn how to use snippets.

Man2 tip.gif You can find snippets to import in the Category:Snippets repository

Top.png

Snippets usage

There are two kinds of snippets, insert snippets and replace snippets.

Insert snippets

Snippets are organized in branches (chapters) and possibly sub-branches. In mediawiki branch there is a sub-branche called man bf where are usefull snippets to edit Bluefish manual. The title of the snippet gives an idea of what it does. By moving the mouse over the title of the snippet appears a tooltip giving details.

snippet tooltip


By double-clicking a snippet item the code is inserted at the cursor position in the edit area.
We place the cursor in edit area under the line === Snippets usage === to insert a framed image
This snippet use 2 parameters, double-clicking opens a dialog box.

snippet insert dialog

Here is the result:

snippet insert result

The before text is inserted before the cursor in edit area, the cursor is now after the text inserted by the snippet.

Top.png

Replace snippets

Some snippets make replace in a selected text. Select text before use them!

Export snippets

  • you can export:
    • a branch
    • a single snippet
  • to export your entire snippets file just copy ~/.bluefish/snippets to mysnippets.xml
  • to export a selection of branches, you have to create a new branch, move wanted branches into it and export the new branch.

Top.png

Create snippets

Branch

All snippets should be placed in a branch. If your snippets file is empty, the first thing to create is the first branch.

Insert strings

To insert a snippet, choose a branch, right click on its name to open the snippets menu. In this example we add a snippet in mediawiki(en) branch:

New snippet
Insert string
Name of the snippet and description for the tooltip
Before text and variables

Here we use to variables, one for the name of the image, the other for the text under the image.


Man2 tip.gif If Is File path is used, a Browse button is added to the dialog
Is File path Browse button can give relative path.


The new snippet take place at the end of its branch. You can move it using drag and drop. You can also re-edit it or delete it.


Before text and After text

In this other example we use a snippet that use both before and after text.
first we select text in edit area, then we double click on the includeonly snippet.


The before text is inserted before the cursor or the selection. The after text is inserted after the cursor or the selection.

Search and replace snippets

Search and replace snippets are very powerfull. See Basic Find and Replace and Find and Replace Using Regular Expressions for general infos about Bluefish find and replace. Here will be considered only on the specific substitutions in the snippets.

Search and replace snippets can use regex and variables
Scope:

Match Pattern:

todo: example using both snippets variables and regex variables. Top.png

Edit snippets

Right click on an item open the snippets menu, Edit snippet. If the item is a branch use also Edit snippet to change its name.

If the item is a snippet we can re-edit it, firt name and description, and in second step before and after text and parameter(s) name(s).

Reorder snippets

Reorder snippets

Use drag and drop to reorder snippets. You can reorder single snippet or branches. To create a new top level branch you have to right-click on the empty part at the end of the snippets pannel. (actually bug: if you have too many snippets for the height of the window, there is no empty line at the end of the snippets list.)

Navigation between snippets

When a mouse is over the snippet pannel typing a letter select the first entry (from the top) witch name begin with this letter.
e.g. if you have to entries, bbcode and bash, typing b select bbcode, typing ba select bash. This works only with item that are visibles not for items that are in collapsed branches.

Set snippet accelerator

snippet accelerator key

Select a snippet item, right click to open the menu, choose Set snippet accelerator.

For example if you type Ctrl + f for framed image, you can now open the frame image snippet dialog by typing Ctrl + f when mouse is over the snippet pannel, even if the mediawiki branch is collapsed.

Delete branch/snippet

You can delete a snippet and also a branch with all its sub-branches and snippets in one click. Be aware that there is no undo method.

Show as menu

You can have snippets as a top bar. Be aware that if you have to many top level entries in snippets for the width of your window, the last top level entries are not displayed in snippets top bar.

Bluefish Custom Tool Bar

Snippets syntax

see Snippets syntax


Top.png