Rename CompletionProposalProvider to SuggestionProvider

This commit is contained in:
Naoki Takezoe
2016-07-16 12:29:42 +09:00
parent 417886161c
commit d67afebadc
4 changed files with 14 additions and 14 deletions

View File

@@ -170,14 +170,14 @@ abstract class Plugin {
def textDecorators(registry: PluginRegistry, context: ServletContext, settings: SystemSettings): Seq[TextDecorator] = Nil
/**
* Override to add completion proposal provider.
* Override to add suggestion provider.
*/
val completionProposalProviders: Seq[CompletionProposalProvider] = Nil
val suggestionProviders: Seq[SuggestionProvider] = Nil
/**
* Override to add completion proposal provider.
* Override to add suggestion provider.
*/
def completionProposalProviders(registry: PluginRegistry, context: ServletContext, settings: SystemSettings): Seq[CompletionProposalProvider] = Nil
def suggestionProviders(registry: PluginRegistry, context: ServletContext, settings: SystemSettings): Seq[SuggestionProvider] = Nil
/**
* This method is invoked in initialization of plugin system.
@@ -229,8 +229,8 @@ abstract class Plugin {
(textDecorators ++ textDecorators(registry, context, settings)).foreach { textDecorator =>
registry.addTextDecorator(textDecorator)
}
(completionProposalProviders ++ completionProposalProviders(registry, context, settings)).foreach { completionProposalProvider =>
registry.addCompletionProposalProvider(completionProposalProvider)
(suggestionProviders ++ suggestionProviders(registry, context, settings)).foreach { suggestionProvider =>
registry.addSuggestionProvider(suggestionProvider)
}
}

View File

@@ -44,8 +44,8 @@ class PluginRegistry {
private val assetsMappings = new ListBuffer[(String, String, ClassLoader)]
private val textDecorators = new ListBuffer[TextDecorator]
private val completionProposalProviders = new ListBuffer[CompletionProposalProvider]
completionProposalProviders += new UserCompletionProposalProvider()
private val suggestionProviders = new ListBuffer[SuggestionProvider]
suggestionProviders += new UserNameSuggestionProvider()
def addPlugin(pluginInfo: PluginInfo): Unit = plugins += pluginInfo
@@ -137,9 +137,9 @@ class PluginRegistry {
def getTextDecorators: Seq[TextDecorator] = textDecorators.toSeq
def addCompletionProposalProvider(completionProposalProvider: CompletionProposalProvider): Unit = completionProposalProviders += completionProposalProvider
def addSuggestionProvider(suggestionProvider: SuggestionProvider): Unit = suggestionProviders += suggestionProvider
def getCompletionProposalProviders: Seq[CompletionProposalProvider] = completionProposalProviders.toSeq
def getSuggestionProviders: Seq[SuggestionProvider] = suggestionProviders.toSeq
}
/**

View File

@@ -3,7 +3,7 @@ package gitbucket.core.plugin
import gitbucket.core.controller.Context
import gitbucket.core.service.RepositoryService.RepositoryInfo
trait CompletionProposalProvider {
trait SuggestionProvider {
val id: String
val prefix: String
@@ -16,7 +16,7 @@ trait CompletionProposalProvider {
}
class UserCompletionProposalProvider extends CompletionProposalProvider {
class UserNameSuggestionProvider extends SuggestionProvider {
override val id: String = "user"
override val prefix: String = "@"
override val context: Seq[String] = Seq("issues")

View File

@@ -9,14 +9,14 @@
@defining("(id=\")([\\w\\-]*)(\")".r.findFirstMatchIn(textarea.body).map(_.group(2))){ textareaId =>
<script>
$(function(){
@gitbucket.core.plugin.PluginRegistry().getCompletionProposalProviders.map { provider =>
@gitbucket.core.plugin.PluginRegistry().getSuggestionProviders.map { provider =>
@if(provider.context.contains(completionContext)){
var @provider.id = @Html(helpers.json(provider.values(repository)));
@Html(provider.additionalScript)
}
}
$('#@textareaId').textcomplete([
@gitbucket.core.plugin.PluginRegistry().getCompletionProposalProviders.map { provider =>
@gitbucket.core.plugin.PluginRegistry().getSuggestionProviders.map { provider =>
@if(provider.context.contains(completionContext)){
{
id: '@{provider.id}',