8.5. Languages

The Languages pref pane provides a simple interface for changing the settings for langauges and adding/removing languages. However, it does not expose some of the more advanced options. Those require editing the bundles directly. See the Customizing Bundles section for more information.

Use the +/- buttons to add/remove languages. Selecting a language will allow you to change the file categories assigned to that language. Files belonging to those file categories will use that bundle by default.

Editing the file categories for a bundle

Expanding a language will display the editable properties. If a language does not yet specify that property, skEdit will create a new one when it is selected. For example, if a language has no code-completion definition, skEdit will prompt you to see if you want element-based or keyword-based code completion. Once a property has been created, selecting it will bring up the appropriate editor.

8.5.1. Code Completion

skEdit has two code-completion editors: one for element-based languages and one for other languages.

For element-based languages, you specify elements, the attributes of each element, and finally the values of each attribute. Use the +/- buttons to add/remove and double-click to edit.

Element-based Completion Editor

For other languages, you specify three values:

Keyword

This is what skEdit will match on. For example, the keyword for the PHP function mysql_query() would be mysql_query.

Completes As

This is what skEdit will insert into the file if the item is selected by the user.

Type

An optional field, intended for languages that have return types for their functions/methods. If present, will be displayed in the user inteface.

Keyword-based Completion Editor

8.5.2. Navigation

Defines the regular expressions used for the code navigator. Add/remove using the +/- buttons, and double-click to edit. Each item has several properties:

Search Expression

A regular expression used for matching. More info.

Menu Title

Will be displayed in the user interface. May reference back-references from the search expression. If blank, skEdit will display a separator in the menu.

Icon Name

The name of the icon to use in the menu. skEdit will first look in the language's bundle, then in skEdit itself. skEdit provides some default icons with the following names:

  • class.gif

  • function.gif

  • interface.gif

  • method.gif

  • todo.gif

Attributes

Specify font attributes to help the item standout in the menu.

Code Navigator Editor

8.5.3. Syntax

The syntax settings specify how skEdit will parse a file for the syntax highlighting and for the code folding. The "Options&" button will bring up a panel with three fields:

Keyword Characters

When parsing, skEdit will only consider these characters as part of keywords.

Folding Open/Close

The regular expressions for code colding openers/closers. Regular expression syntax.

skEdit has two syntax editors: one for element-based languages and one for other languages.

The editor for element-based languages is straightforward. It simply has fields to specify the style identifier for tags, attributes, values, and comments.

Element-based Syntax Editor

The editor for other languages has two tables: one for style identifiers and one for the keywords belonging to that identifier. Add/remove identifiers and keywords using the +/- buttons, double-click to edit. Keywords can either be plain text or regular expressions. skEdit will automatically detect the type.

Keyword-based Syntax Editor