Skip to content

Commit cec2564

Browse files
committed
ReadlineModuleBuiltins: add get_completer_delims, set_completer_delims builtins
1 parent 8e80f75 commit cec2564

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/modules/ReadlineModuleBuiltins.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ private static final class LocalData implements TruffleObject {
8585
private final List<String> history = new ArrayList<>();
8686
protected Object completer = null;
8787
public boolean autoHistory = true;
88+
public String completerDelims = null;
8889

8990
public ForeignAccess getForeignAccess() {
9091
return null;
@@ -345,4 +346,27 @@ PNone setCompleter(PythonModule self, boolean enabled,
345346
return PNone.NONE;
346347
}
347348
}
349+
350+
@Builtin(name = "set_completer_delims", minNumOfPositionalArgs = 2, declaresExplicitSelf = true)
351+
@GenerateNodeFactory
352+
abstract static class SetCompleterDelimsNode extends PythonBinaryBuiltinNode {
353+
@Specialization
354+
PNone setCompleterDelims(PythonModule self, String completerDelims,
355+
@Cached("create()") ReadAttributeFromObjectNode readNode) {
356+
LocalData data = (LocalData) readNode.execute(self, DATA);
357+
data.completerDelims = completerDelims;
358+
return PNone.NONE;
359+
}
360+
}
361+
362+
@Builtin(name = "get_completer_delims", minNumOfPositionalArgs = 1, declaresExplicitSelf = true)
363+
@GenerateNodeFactory
364+
abstract static class GetCompleterDelimsNode extends PythonBuiltinNode {
365+
@Specialization
366+
Object getCompleterDelims(PythonModule self,
367+
@Cached("create()") ReadAttributeFromObjectNode readNode) {
368+
LocalData data = (LocalData) readNode.execute(self, DATA);
369+
return (data.completerDelims != null) ? data.completerDelims : PNone.NONE;
370+
}
371+
}
348372
}

0 commit comments

Comments
 (0)