Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/lingo/sublime-fscompletion

Auto-complete paths and filenames from the filesystem, à la Ctrl-X,Ctrl-F in VIM
https://github.com/lingo/sublime-fscompletion

Last synced: about 2 months ago
JSON representation

Auto-complete paths and filenames from the filesystem, à la Ctrl-X,Ctrl-F in VIM

Awesome Lists containing this project

README

        

# FileSystem AutoCompletion #

Enable auto-completion of paths from the file system à la [VIM](http://vimdoc.sourceforge.net/htmldoc/insert.html#i_CTRL-X_CTRL-F).

File completion can be explicitly triggered by Ctrl+Alt+/ (on OSX, Cmd instead of Ctrl) shortcut.

This combination can be always rebound to a different key combination in usual SublimeText manner, by opening the User keybindings file (see menu: `Preferences/Package Settings/FileSystem Autocompletion`).

For example, you should also be able to use the Vim shortcut Ctrl+X,Ctrl+F by adding the following to your **Keybindings - User** file:

```json
{ "keys": ["ctrl+x","ctrl+f"], "command": "file_system_comp_trigger"}
```

This plugin handles spaces in file names and find the correct file path beginning. If you find any problem, please open an issue.

## Current directory ##
The project-file directory will be used by default (if found).
However, a path starting with '.' will use the current view's directory instead.
The path search order can be configured via the usual settings file:

"path_search_order": ["project", "view", "window"]

## Installation ##
Either by using the package manager or manually by cloning/downloading the latest snapshot of the `master` branch into the Sublime's package folder (e.g. `~/Library/Application Support/Sublime Text 3/Packages/` on OSX).

## Spaces ##

This plugin should handle file paths that contains spaces including escaped spaces with `\`.

For example if there are three files:

quick test
quick test 1
quick test 2

Then `quick test` followed by our shortcut will display all three options and when selecting the second one for instance it will get expanded to `quick test 1`. On the other hand `quick\ test` followed by our shortcut with the same selection will be expanded to `quick\ test\ 1`. If the path is detected to be escaped it will continue to escape all the followed spaces.

## File path beginning ##

The problem is that a file name can be contain many special characters. For example `\input{some file}` is a valid file. However, it is also a way how to include a file in LaTeX document and more likely we want to have a completion of the path `some file` rather than path `\input{some file}`. This plugin, therefore, tries to determine the beginning of a path from which it should look for the completion by finding the longest possible path that exists. For the example above, with the cursor positioned at the end of `some file`, it will try:

/Users/user/\input{some file
Users/user/\input{some file
krikava/\input{some file
\input{some file
input{some file
some file
file

and it will stop as soon as any of these path exists (a glob pattern with appended `*` returns something).

## License ##

All parts of this plugin are licensed under GPL v3 (see LICENSE.txt).