Skip to content

Commit 5a3e87f

Browse files
committed
feature: start working on auto-completion
1 parent 01333a9 commit 5a3e87f

File tree

17 files changed

+45
-48
lines changed

17 files changed

+45
-48
lines changed

app/src/main/java/io/neoterm/component/completion/provider/FileCompletionProvider.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ open class FileCompletionProvider : ICandidateProvider {
2626
}
2727

2828
override fun canComplete(text: String): Boolean {
29-
return text.startsWith(File.separatorChar)
29+
return text.startsWith(File.separatorChar) || text.startsWith("\\./")
3030
}
3131

3232
private fun listDirectory(path: File, filter: ((File) -> Boolean)?): Array<File> {

app/src/main/java/io/neoterm/frontend/completion/CompletionManager.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ object CompletionManager {
1010
private val candidateProviders = mutableMapOf<String, ICandidateProvider>()
1111

1212
fun registerProvider(provider: ICandidateProvider) {
13-
this.candidateProviders.put(provider.providerName, provider)
13+
this.candidateProviders[provider.providerName] = provider
1414
}
1515

1616
fun unregisterProvider(providerName: String) {

app/src/main/java/io/neoterm/frontend/session/shell/ShellTermSession.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ open class ShellTermSession private constructor(shellPath: String, cwd: String,
199199
val langEnv = "LANG=en_US.UTF-8"
200200
val pathEnv = "PATH=" + buildPathEnv()
201201
val ldEnv = "LD_LIBRARY_PATH=" + buildLdLibraryEnv()
202-
val pwdEnv = "PWD=" + selectedCwd
202+
val pwdEnv = "PWD=$selectedCwd"
203203
val tmpdirEnv = "TMPDIR=${NeoTermPath.USR_PATH}/tmp"
204204

205205

app/src/main/java/io/neoterm/frontend/session/shell/client/TermCompleteListener.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import io.neoterm.frontend.completion.listener.OnCandidateSelectedListener
99
import io.neoterm.frontend.completion.model.CompletionCandidate
1010
import io.neoterm.frontend.completion.model.CompletionResult
1111
import io.neoterm.frontend.completion.view.CandidatePopupWindow
12+
import io.neoterm.frontend.logging.NLog
1213
import io.neoterm.frontend.terminal.TerminalView
1314
import java.util.*
1415

@@ -72,7 +73,7 @@ class TermCompleteListener(var terminalView: TerminalView?) : OnAutoCompleteList
7273

7374
val deleteLength = newText.indexOf(textNeedCompletion) + textNeedCompletion.length
7475
if (deleteLength > 0) {
75-
for (i in 0..deleteLength - 1) {
76+
for (i in 0 until deleteLength) {
7677
session.write("\b")
7778
popChar()
7879
}
@@ -85,7 +86,6 @@ class TermCompleteListener(var terminalView: TerminalView?) : OnAutoCompleteList
8586

8687
pushString(newText)
8788
session.write(newText)
88-
8989
// Trigger next completion
9090
lastCompletedIndex = inputStack.size
9191
triggerCompletion()

app/src/main/java/io/neoterm/frontend/terminal/TerminalView.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1009,7 +1009,8 @@ public boolean onCreateActionMode(ActionMode mode, Menu menu) {
10091009
ClipboardManager clipboard = (ClipboardManager) getContext().getSystemService(Context.CLIPBOARD_SERVICE);
10101010
menu.add(Menu.NONE, 1, Menu.NONE, R.string.copy_text).setShowAsAction(show);
10111011
menu.add(Menu.NONE, 2, Menu.NONE, R.string.paste_text).setEnabled(clipboard.hasPrimaryClip()).setShowAsAction(show);
1012-
// menu.add(Menu.NONE, 3, Menu.NONE, R.string.text_selection_more);
1012+
menu.add(Menu.NONE, 3, Menu.NONE, R.string.text_selection_more);
1013+
10131014
return true;
10141015
}
10151016

app/src/main/java/io/neoterm/setup/connections/AssetsFileConnection.kt

Lines changed: 0 additions & 20 deletions
This file was deleted.

app/src/main/java/io/neoterm/setup/connections/BackupFileConnection.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ import android.net.Uri
77
* @author kiva
88
*/
99

10-
class BackupFileConnection(context: Context, uri: Uri) : OfflineUriConnection(context, uri)
10+
class BackupFileConnection(context: Context, uri: Uri) : LocalFileConnection(context, uri)

app/src/main/java/io/neoterm/setup/connections/LocalFileConnection.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ import android.net.Uri
77
* @author kiva
88
*/
99

10-
class LocalFileConnection(context: Context, uri: Uri) : OfflineUriConnection(context, uri)
10+
open class LocalFileConnection(context: Context, uri: Uri) : OfflineUriConnection(context, uri)

app/src/main/java/io/neoterm/setup/connections/OfflineConnection.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,11 @@ abstract class OfflineConnection : SourceConnection {
2424

2525
override fun getSize(): Int {
2626
if (inputStream != null) {
27-
try {
28-
return inputStream!!.available()
27+
return try {
28+
inputStream!!.available()
2929
} catch (e: IOException) {
3030
e.printStackTrace()
31-
return 0
31+
0
3232
}
3333

3434
}

app/src/main/java/io/neoterm/ui/setup/SetupActivity.kt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import io.neoterm.frontend.config.NeoTermPath
1515
import io.neoterm.setup.ResultListener
1616
import io.neoterm.setup.SetupHelper
1717
import io.neoterm.setup.SourceConnection
18-
import io.neoterm.setup.connections.AssetsFileConnection
1918
import io.neoterm.setup.connections.BackupFileConnection
2019
import io.neoterm.setup.connections.LocalFileConnection
2120
import io.neoterm.setup.connections.NetworkConnection
@@ -41,7 +40,6 @@ class SetupActivity : AppCompatActivity(), View.OnClickListener, ResultListener
4140
private val hintMapping = arrayOf(
4241
R.id.setup_method_online, R.string.setup_hint_online,
4342
R.id.setup_method_local, R.string.setup_hint_local,
44-
R.id.setup_method_assets, R.string.setup_hint_assets,
4543
R.id.setup_method_backup, R.string.setup_hint_backup
4644
)
4745

@@ -69,7 +67,6 @@ class SetupActivity : AppCompatActivity(), View.OnClickListener, ResultListener
6967

7068
findViewById<RadioButton>(R.id.setup_method_online).setOnCheckedChangeListener(onCheckedChangeListener)
7169
findViewById<RadioButton>(R.id.setup_method_local).setOnCheckedChangeListener(onCheckedChangeListener)
72-
findViewById<RadioButton>(R.id.setup_method_assets).setOnCheckedChangeListener(onCheckedChangeListener)
7370
findViewById<RadioButton>(R.id.setup_method_backup).setOnCheckedChangeListener(onCheckedChangeListener)
7471

7572
findViewById<Button>(R.id.setup_next).setOnClickListener(this)
@@ -137,6 +134,7 @@ class SetupActivity : AppCompatActivity(), View.OnClickListener, ResultListener
137134
R.id.setup_method_backup,
138135
R.id.setup_method_local -> {
139136
val intent = Intent(Intent.ACTION_GET_CONTENT)
137+
intent.addCategory(Intent.CATEGORY_OPENABLE)
140138
intent.type = "*/*";
141139
try {
142140
startActivityForResult(intent, REQUEST_SELECT_PARAMETER)
@@ -151,7 +149,6 @@ class SetupActivity : AppCompatActivity(), View.OnClickListener, ResultListener
151149
return when (id) {
152150
R.id.setup_method_local -> LocalFileConnection(this, parameterUri!!)
153151
R.id.setup_method_online -> NetworkConnection(parameter)
154-
R.id.setup_method_assets -> AssetsFileConnection()
155152
R.id.setup_method_backup -> BackupFileConnection(this, parameterUri!!)
156153
else -> throw IllegalArgumentException("Unexpected setup method!")
157154
}

0 commit comments

Comments
 (0)