vscode-uri
TypeScript icon, indicating that this package has built-in type declarations

3.0.8 • Public • Published

vscode-uri

Build Status

This module contains the URI implementation that is used by VS Code and its extensions. It has support for parsing a string into scheme, authority, path, query, and fragment URI components as defined in: http://tools.ietf.org/html/rfc3986

  foo://example.com:8042/over/there?name=ferret#nose
  \_/   \______________/\_________/ \_________/ \__/
   |           |            |            |        |
scheme     authority       path        query   fragment
   |   _____________________|__
  / \ /                        \
  urn:example:animal:ferret:nose

Usage

import { URI } from 'vscode-uri'

// parse an URI from string

let uri = URI.parse('https://code.visualstudio.com/docs/extensions/overview#frag')

assert.ok(uri.scheme === 'https');
assert.ok(uri.authority === 'code.visualstudio.com');
assert.ok(uri.path === '/docs/extensions/overview');
assert.ok(uri.query === '');
assert.ok(uri.fragment === 'frag');
assert.ok(uri.toString() === 'https://code.visualstudio.com/docs/extensions/overview#frag')


// create an URI from a fs path

let uri = URI.file('/users/me/c#-projects/');

assert.ok(uri.scheme === 'file');
assert.ok(uri.authority === '');
assert.ok(uri.path === '/users/me/c#-projects/');
assert.ok(uri.query === '');
assert.ok(uri.fragment === '');
assert.ok(uri.toString() === 'file:///users/me/c%23-projects/')

Usage: Util

This module also exports a Utils package which is an extension, not part of vscode.Uri, and useful for path-math. There is:

  • Utils.joinPath(URI, paths): URI
  • Utils.resolvePath(URI, paths): URI
  • Utils.dirname(URI): string
  • Utils.basename(URI): string
  • Utils.extname(URI): string

All util use posix path-math as defined by the node.js path module.

Contributing

The source of this module is taken straight from the vscode-sources and because of that issues and pull request should be created in that repository. Thanks and Happy Coding!

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Readme

Keywords

none

Package Sidebar

Install

npm i vscode-uri

Weekly Downloads

5,403,300

Version

3.0.8

License

MIT

Unpacked Size

204 kB

Total Files

17

Last publish

Collaborators

  • alexandrudima
  • kaimaetzel
  • sbatten
  • microsoft1es
  • lszomoru
  • vscode-bot