Skip to content
This repository has been archived by the owner on Jan 8, 2022. It is now read-only.

Commit

Permalink
Use the 2.0 stable SDK
Browse files Browse the repository at this point in the history
- Update the SDK constraint.
- Drop optional `new` and `const`.
  • Loading branch information
natebosch committed Aug 7, 2018
1 parent a032095 commit 250c572
Show file tree
Hide file tree
Showing 21 changed files with 131 additions and 132 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Expand Up @@ -3,6 +3,7 @@
- Rename `--force_trace_level` argument to `--force-trace-level`. Keep the old
name as a fallback.
- Add support for sending edits directly with `CodeAction` literals.
- Use the 2.0 stable SDK.

# 0.1.12+2

Expand Down
4 changes: 2 additions & 2 deletions bin/dart_language_server.dart
Expand Up @@ -7,15 +7,15 @@ import 'package:dart_language_server/src/args.dart';
Future main(List<String> args) async {
StartupArgs startupArgs;
try {
startupArgs = new StartupArgs(args);
startupArgs = StartupArgs(args);
} on UsageException catch (e) {
print(e.usage);
return;
}
await runZoned(() async {
try {
var shim = await startShimmedServer(startupArgs);
await new StdIOLanguageServer.start(shim).onDone;
await StdIOLanguageServer.start(shim).onDone;
} catch (e, st) {
stderr.writeln('Uncaught Exception: $e\n$st');
} finally {
Expand Down
6 changes: 3 additions & 3 deletions lib/src/args.dart
Expand Up @@ -11,7 +11,7 @@ class StartupArgs {
String logDirectory;

factory StartupArgs(List<String> args) {
final parser = new ArgParser()
final parser = ArgParser()
..addOption(_forceTraceLevel,
help: 'Override the `trace` option during initialization',
allowed: ['trace', 'verbose', 'off'])
Expand All @@ -20,14 +20,14 @@ class StartupArgs {
..addOption(_logDirectory, help: 'Override the log directory');
try {
final result = parser.parse(args);
return new StartupArgs._(
return StartupArgs._(
forceTraceLevel:
result[_forceTraceLevel] ?? result[_forceTraceLevelLegacy],
logDirectory: result[_logDirectory],
analysisServerArgs: result.rest,
);
} catch (_) {
throw new UsageException(parser.usage);
throw UsageException(parser.usage);
}
}

Expand Down
8 changes: 4 additions & 4 deletions lib/src/capabilities.dart
@@ -1,13 +1,13 @@
import 'protocol/language_server/messages.dart';

final serverCapabilities = new ServerCapabilities((b) => b
..textDocumentSync = new TextDocumentSyncOptions((b) => b
final serverCapabilities = ServerCapabilities((b) => b
..textDocumentSync = TextDocumentSyncOptions((b) => b
..openClose = true
..change = TextDocumentSyncKind.incremental
..willSave = false
..willSaveWaitUntil = false
..save = new SaveOptions((b) => b..includeText = false))
..completionProvider = new CompletionOptions((b) => b
..save = SaveOptions((b) => b..includeText = false))
..completionProvider = CompletionOptions((b) => b
..resolveProvider = false
..triggerCharacters = const ['.'])
..codeActionProvider = true
Expand Down
6 changes: 3 additions & 3 deletions lib/src/convert.dart
Expand Up @@ -18,11 +18,11 @@ Iterable<SymbolInformation> _toSymbolInformations(
// Omit the top "<unit>"
if (outline.element.kind != 'COMPILATION_UNIT') {
name = outline.element.name;
yield new SymbolInformation((b) => b
yield SymbolInformation((b) => b
..containerName = containerName
..kind = _toSymbolKind(outline.element)
..name = name
..location = new Location((b) => b
..location = Location((b) => b
..uri = fileUri
..range = rangeFromOffset(lineLengths, outline.element.location.offset,
outline.element.location.length)));
Expand Down Expand Up @@ -81,4 +81,4 @@ SymbolKind _toSymbolKind(Element element) {
}
}

String toFileUri(String path) => '${new Uri.file(path)}';
String toFileUri(String path) => '${Uri.file(path)}';
12 changes: 5 additions & 7 deletions lib/src/logging/logs.dart
Expand Up @@ -8,17 +8,16 @@ import 'package:stream_channel/stream_channel.dart';

import 'wirelog.dart';

final _lspWireLog = new WireLog();
final analyzerSink = new StreamController<String>.broadcast();
final _lspWireLog = WireLog();
final analyzerSink = StreamController<String>.broadcast();
StreamChannelTransformer<String, String> lspChannel = _lspWireLog.transformer;

final _logs = <IOSink>[];

void startLogging(Directory logDirectory, String traceLevel) {
if (traceLevel == 'verbose') {
logDirectory.createSync(recursive: true);
var logSink =
new File(path.join(logDirectory.path, 'server.log')).openWrite();
var logSink = File(path.join(logDirectory.path, 'server.log')).openWrite();
_logs.add(logSink);
Logger.root.level = Level.ALL;
Logger.root.onRecord.listen((record) {
Expand All @@ -33,12 +32,11 @@ void startLogging(Directory logDirectory, String traceLevel) {
if (traceLevel == 'verbose' || traceLevel == 'messages') {
logDirectory.createSync(recursive: true);
var analyzerLog =
new File(path.join(logDirectory.path, 'analyzer-wirelog.log'))
.openWrite();
File(path.join(logDirectory.path, 'analyzer-wirelog.log')).openWrite();
analyzerSink.stream.transform(utf8.encoder).pipe(analyzerLog);
_logs.add(analyzerLog);
var lspLog =
new File(path.join(logDirectory.path, 'lsp-wirelog.log')).openWrite();
File(path.join(logDirectory.path, 'lsp-wirelog.log')).openWrite();
_lspWireLog.attach(lspLog);
_logs.add(lspLog);
}
Expand Down
4 changes: 2 additions & 2 deletions lib/src/logging/wirelog.dart
Expand Up @@ -12,8 +12,8 @@ class WireLog {
StreamChannelTransformer<String, String> _transformer;
StreamChannelTransformer<String, String> get transformer =>
_transformer ??
new StreamChannelTransformer(_tapLog('In'),
new StreamSinkTransformer.fromStreamTransformer(_tapLog('Out')));
StreamChannelTransformer(_tapLog('In'),
StreamSinkTransformer.fromStreamTransformer(_tapLog('Out')));

_tapLog(String prefix) =>
tap<String>((data) => _log?.writeln('$prefix: $data'),
Expand Down
6 changes: 3 additions & 3 deletions lib/src/position_convert.dart
Expand Up @@ -11,7 +11,7 @@ int _offset(Iterable<int> lineLengths, int line, int character) {
}

Range rangeFromOffset(Iterable<int> lineLengths, int offset, int length) =>
new Range((b) => b
Range((b) => b
..start = positionFromOffset(lineLengths, offset)
..end = positionFromOffset(lineLengths, offset + length));

Expand All @@ -30,15 +30,15 @@ Position positionFromOffset(Iterable<int> lineLengths, int offset) {
consumedLines += 1;
consumedCharacters += length + 1;
}
return new Position((b) => b
return Position((b) => b
..line = consumedLines
..character = offset - consumedCharacters);
}

OffsetLength offsetLengthFromRange(Iterable<int> lineLengths, Range range) {
var offset = offsetFromPosition(lineLengths, range.start);
var endOffset = offsetFromPosition(lineLengths, range.end);
return new OffsetLength(offset, endOffset - offset);
return OffsetLength(offset, endOffset - offset);
}

List<int> findLineLengths(String file) =>
Expand Down
24 changes: 12 additions & 12 deletions lib/src/protocol/language_server/server.dart
Expand Up @@ -12,8 +12,8 @@ class StdIOLanguageServer {
Future<void> onDone;

StdIOLanguageServer.start(this._server) {
var channel = lspChannel.bind(new StdIOStreamChannel());
var peer = new Peer(channel);
var channel = lspChannel.bind(StdIOStreamChannel());
var peer = Peer(channel);

_lifecycleMethods(peer);
_fileHandlingMethods(peer);
Expand All @@ -37,7 +37,7 @@ class StdIOLanguageServer {
var serverCapabilities = await _server.initialize(
params['processId'].valueOr(0),
params['rootUri'].valueOr(''),
new ClientCapabilities.fromJson(params['capabilities'].value),
ClientCapabilities.fromJson(params['capabilities'].value),
params['trace'].valueOr('off'));
_isInitialized = true;
return {'capabilities': serverCapabilities.toJson()};
Expand All @@ -50,7 +50,7 @@ class StdIOLanguageServer {
void _registerRequest(Peer peer, String methodName, Function callback) {
peer.registerMethod(methodName, (params) {
if (!_isInitialized) {
throw new RpcException(-32003, 'The server has not been initialized');
throw RpcException(-32003, 'The server has not been initialized');
}
return callback(params);
});
Expand Down Expand Up @@ -164,27 +164,27 @@ class StdIOLanguageServer {
}

TextDocumentItem _documentItem(params) =>
new TextDocumentItem.fromJson(params['textDocument'].value);
TextDocumentItem.fromJson(params['textDocument'].value);

VersionedTextDocumentIdentifier _versionedDocument(params) =>
new VersionedTextDocumentIdentifier.fromJson(params['textDocument'].value);
VersionedTextDocumentIdentifier.fromJson(params['textDocument'].value);

TextDocumentIdentifier _document(params) =>
new TextDocumentIdentifier.fromJson(params['textDocument'].value);
TextDocumentIdentifier.fromJson(params['textDocument'].value);

Range _range(params) => new Range.fromJson(params['range'].value);
Range _range(params) => Range.fromJson(params['range'].value);

Position _position(params) => new Position.fromJson(params['position'].value);
Position _position(params) => Position.fromJson(params['position'].value);

CodeActionContext _codeActionContext(params) =>
new CodeActionContext.fromJson(params['context'].value);
CodeActionContext.fromJson(params['context'].value);

ReferenceContext _referenceContext(params) =>
new ReferenceContext.fromJson(params['context'].value);
ReferenceContext.fromJson(params['context'].value);

List<TextDocumentContentChangeEvent> _contentChanges(params) =>
(params['contentChanges'].value as Iterable)
.map((change) => new TextDocumentContentChangeEvent.fromJson(change))
.map((change) => TextDocumentContentChangeEvent.fromJson(change))
.toList();

String _query(params) => params['query'].value;
8 changes: 4 additions & 4 deletions lib/src/protocol/language_server/wireformat.dart
Expand Up @@ -10,14 +10,14 @@ class StdIOStreamChannel extends StreamChannelMixin<String> {
final Stream<String> stream;

factory StdIOStreamChannel() {
var parser = new _Parser();
var outSink = new StreamSinkTransformer.fromHandlers(
var parser = _Parser();
var outSink = StreamSinkTransformer.fromHandlers(
handleData: _serialize,
handleDone: (sink) {
sink.close();
parser.close();
}).bind(stdout);
return new StdIOStreamChannel._(parser.stream, outSink);
return StdIOStreamChannel._(parser.stream, outSink);
}

StdIOStreamChannel._(this.stream, this.sink);
Expand All @@ -33,7 +33,7 @@ void _serialize(String data, EventSink<List<int>> sink) {
}

class _Parser {
final _streamCtl = new StreamController<String>();
final _streamCtl = StreamController<String>();
Stream<String> get stream => _streamCtl.stream;

final _buffer = <int>[];
Expand Down

0 comments on commit 250c572

Please sign in to comment.