1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
---
pageid: capabilities
title: Capabilities
layout: docs
category: Compatibility
permalink: docs/capabilities.html
---
*Since 3.8*
Capability names are used to identify modules that are either conditionally
configured or that are introduced over time.
You can use the [expanded version command](/watchman/docs/cmd/version.html)
to query capabilities and avoid building knowledge of version numbers in
your client application(s).
You can use [list-capabilities](/watchman/docs/cmd/list-capabilities.html)
command to obtain a list of capabilities supported by your watchman server.
### Commands
Every command is identified by the command name prefixed by the string `cmd-`.
For example, the `watch-project` command is indicated by the capability name
`cmd-watch-project`.
### Expression Terms
Every expression term is identified by the term name prefixed by the string
`term-`. For example, the `match` term is indicated by the capability name
`term-match`.
### File Result Fields
Every field is identified by the field name prefixed by the string `field-`.
For example, the `size` field is indicated by the capability name `field-size`.
### Feature Enhancements
Sometimes we will enhance existing functionality by adding new options to
existing commands. Since these changes won't result in adding a new command
they won't implicitly gain a capability name. In these cases we'll assign
an appropriate capability name by hand.
The following feature capabilities are possible / released:
Capability Name | Since version | Description
----------------|---------------|------------
`relative_root` | 3.3 | `relative_root` query option
`wildmatch` | 3.7 | [Expanded `match` term with recursive globs](/watchman/docs/expr/match.html#wildmatch)
|