analyzer_plugin 0.0.1-alpha.4

  • README.md
  • CHANGELOG.md
  • Installing
  • Versions
  • 65

analyzer_plugin

A framework for building plugins for the analysis server.

Usage

Note: The plugin support is not currently available for general use.

Plugins are written in Dart and are run in the same VM as the analysis server. The analysis server runs each plugin in a separate isolate and communicates with the plugin using a plugin API. This API is similar to the API used by the analysis server to communicate with clients.

Plugins are automatically discovered and run by the analysis server.

This package contains support code to make it easier to write a plugin. There is a tutorial describing how to use the support in this package.

Support

Post issues and feature requests on the issue tracker.

Questions and discussions are welcome at the Dart Analyzer Discussion Group.

License

See the LICENSE file.

Changelog

0.0.1-alpha.4

  • Upgrade the Dart SDK version contraint

0.0.1

  • Initial version

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  analyzer_plugin: ^0.0.1-alpha.4

2. Install it

You can install packages from the command line:

with pub:


$ pub get

with Flutter:


$ flutter packages get

Alternatively, your editor might support pub get or flutter packages get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:analyzer_plugin/channel/channel.dart';
import 'package:analyzer_plugin/plugin/assist_mixin.dart';
import 'package:analyzer_plugin/plugin/completion_mixin.dart';
import 'package:analyzer_plugin/plugin/fix_mixin.dart';
import 'package:analyzer_plugin/plugin/folding_mixin.dart';
import 'package:analyzer_plugin/plugin/highlights_mixin.dart';
import 'package:analyzer_plugin/plugin/kythe_mixin.dart';
import 'package:analyzer_plugin/plugin/navigation_mixin.dart';
import 'package:analyzer_plugin/plugin/occurrences_mixin.dart';
import 'package:analyzer_plugin/plugin/outline_mixin.dart';
import 'package:analyzer_plugin/plugin/plugin.dart';
import 'package:analyzer_plugin/protocol/protocol.dart';
import 'package:analyzer_plugin/protocol/protocol_common.dart';
import 'package:analyzer_plugin/protocol/protocol_constants.dart';
import 'package:analyzer_plugin/protocol/protocol_generated.dart';
import 'package:analyzer_plugin/starter.dart';
import 'package:analyzer_plugin/utilities/analyzer_converter.dart';
import 'package:analyzer_plugin/utilities/assist/assist.dart';
import 'package:analyzer_plugin/utilities/assist/assist_contributor_mixin.dart';
import 'package:analyzer_plugin/utilities/change_builder/change_builder_core.dart';
import 'package:analyzer_plugin/utilities/change_builder/change_builder_dart.dart';
import 'package:analyzer_plugin/utilities/completion/completion_core.dart';
import 'package:analyzer_plugin/utilities/completion/inherited_reference_contributor.dart';
import 'package:analyzer_plugin/utilities/completion/relevance.dart';
import 'package:analyzer_plugin/utilities/completion/suggestion_builder.dart';
import 'package:analyzer_plugin/utilities/completion/type_member_contributor.dart';
import 'package:analyzer_plugin/utilities/fixes/fix_contributor_mixin.dart';
import 'package:analyzer_plugin/utilities/fixes/fixes.dart';
import 'package:analyzer_plugin/utilities/folding/folding.dart';
import 'package:analyzer_plugin/utilities/generator.dart';
import 'package:analyzer_plugin/utilities/highlights/highlights.dart';
import 'package:analyzer_plugin/utilities/kythe/entries.dart';
import 'package:analyzer_plugin/utilities/navigation/navigation.dart';
import 'package:analyzer_plugin/utilities/occurrences/occurrences.dart';
import 'package:analyzer_plugin/utilities/outline/outline.dart';
import 'package:analyzer_plugin/utilities/pair.dart';
import 'package:analyzer_plugin/utilities/range_factory.dart';
import 'package:analyzer_plugin/utilities/subscriptions/subscription_manager.dart';
  
Version Uploaded Documentation Archive
0.0.1-alpha.4 Jul 23, 2018 Go to the documentation of analyzer_plugin 0.0.1-alpha.4 Download analyzer_plugin 0.0.1-alpha.4 archive
0.0.1-alpha.3 May 30, 2018 Go to the documentation of analyzer_plugin 0.0.1-alpha.3 Download analyzer_plugin 0.0.1-alpha.3 archive
0.0.1-alpha.2 Mar 26, 2018 Go to the documentation of analyzer_plugin 0.0.1-alpha.2 Download analyzer_plugin 0.0.1-alpha.2 archive
0.0.1-alpha.1 Mar 12, 2018 Go to the documentation of analyzer_plugin 0.0.1-alpha.1 Download analyzer_plugin 0.0.1-alpha.1 archive
0.0.1-alpha.0 Aug 25, 2017 Go to the documentation of analyzer_plugin 0.0.1-alpha.0 Download analyzer_plugin 0.0.1-alpha.0 archive
Popularity:
Describes how popular the package is relative to other packages. [more]
53
Health:
Code health derived from static analysis. [more]
90
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
55
Overall:
Weighted score of the above. [more]
65
Learn more about scoring.

We analyzed this package on Oct 10, 2018, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.0.0
  • pana: 0.12.4

Platforms

Detected platforms: Flutter, other

Platform components identified in package: io, isolate.

Health suggestions

Fix lib/src/utilities/change_builder/change_builder_dart.dart. (-3.45 points)

Analysis of lib/src/utilities/change_builder/change_builder_dart.dart reported 7 hints, including:

line 527 col 30: 'bestType' is deprecated and shouldn't be used.

line 1123 col 31: 'element' is deprecated and shouldn't be used.

line 1160 col 39: 'element' is deprecated and shouldn't be used.

line 1493 col 31: 'element' is deprecated and shouldn't be used.

line 1495 col 36: 'element' is deprecated and shouldn't be used.

Fix lib/src/utilities/completion/optype.dart. (-2.96 points)

Analysis of lib/src/utilities/completion/optype.dart reported 6 hints, including:

line 127 col 57: 'element' is deprecated and shouldn't be used.

line 129 col 47: 'previewDart2' is deprecated and shouldn't be used.

line 201 col 28: 'element' is deprecated and shouldn't be used.

line 282 col 28: 'bestElement' is deprecated and shouldn't be used.

line 284 col 61: 'bestElement' is deprecated and shouldn't be used.

Fix lib/utilities/completion/type_member_contributor.dart. (-1.99 points)

Analysis of lib/utilities/completion/type_member_contributor.dart reported 4 hints:

line 110 col 36: 'bestElement' is deprecated and shouldn't be used.

line 122 col 32: 'bestType' is deprecated and shouldn't be used.

line 127 col 35: 'bestElement' is deprecated and shouldn't be used.

line 254 col 24: 'bestType' is deprecated and shouldn't be used.

Fix lib/src/utilities/completion/completion_target.dart. (-1 points)

Analysis of lib/src/utilities/completion/completion_target.dart reported 2 hints:

line 342 col 34: 'bestType' is deprecated and shouldn't be used.

line 358 col 41: 'bestElement' is deprecated and shouldn't be used.

Fix lib/utilities/completion/inherited_reference_contributor.dart. (-1 points)

Analysis of lib/utilities/completion/inherited_reference_contributor.dart reported 2 hints:

line 54 col 40: 'element' is deprecated and shouldn't be used.

line 85 col 42: 'element' is deprecated and shouldn't be used.

Maintenance suggestions

The description is too short. (-20 points)

Add more detail about the package, what it does and what is its target use case. Try to write at least 60 characters.

Maintain an example. (-10 points)

Create a short demo in the example/ directory to show how to use this package. Common file name patterns include: main.dart, example.dart or you could also use analyzer_plugin.dart.

Package is pre-v0.1 release. (-10 points)

While there is nothing inherently wrong with versions of 0.0.*, it usually means that the author is still experimenting with the general direction of the API.

Package is pre-release. (-5 points)

Pre-release versions should be used with caution, their API may change in breaking ways.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=1.8.0 <3.0.0
analyzer >=0.31.2-alpha.1 <0.33.0 0.32.6 0.33.0
charcode ^1.1.0 1.1.2
html ^0.13.1 0.13.3+3
meta ^1.0.2 1.1.6
path ^1.4.1 1.6.2
pub_semver ^1.3.2 1.4.2
Transitive dependencies
args 1.5.0
async 2.0.8
collection 1.14.11
convert 2.0.2
crypto 2.0.6
csslib 0.14.6
front_end 0.1.4+2 0.1.6
glob 1.1.7
kernel 0.3.4+2 0.3.6
logging 0.11.3+2
package_config 1.0.5
plugin 0.2.0+3
source_span 1.4.1
string_scanner 1.0.4
typed_data 1.1.6
utf 0.9.0+5
watcher 0.9.7+10
yaml 2.1.15
Dev dependencies
test ^1.0.0
test_reflective_loader ^0.1.0