GitHub user AhyoungRyu reopened a pull request: https://github.com/apache/zeppelin/pull/984
[ZEPPELIN-982] Improve interpreter completion API ### What is this PR for? When people implement a new interpreter, they extend [interpreter.java](https://github.com/apache/zeppelin/blob/master/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/Interpreter.java) as described in [here](https://zeppelin.apache.org/docs/0.6.0-SNAPSHOT/development/writingzeppelininterpreter.html). Among the several methods in [interpreter.java](https://github.com/apache/zeppelin/blob/master/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/Interpreter.java), [completion API](https://github.com/apache/zeppelin/blob/master/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/Interpreter.java#L109) enables auto-completion. However this API is too simple compared to other project's auto-completion and hard to add more at the moment. So for the aspect of further expansion, it would be better to separate and restructure this API before the this release( 0.6.0 ). ### What type of PR is it? Improvement ### Todos * [x] - Create new structure : `InterpreterCompletion` in `RemoteInterpreterService.thrift` and regenerate `zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/*` files * [x] - Change all existing `List<String> completion` -> `List<InterpreterCompletion> completion` * [x] - Change `paragraph.controller.js` to point real `name` and `value` ### What is the Jira issue? [ZEPPELIN-982](https://issues.apache.org/jira/browse/ZEPPELIN-982) ### How should this be tested? Since this improvement is just API change, it should work same as before. So after applying this patch, and check whether auto-completion works well or not. Use `. + ctrl` for auto-completion. For example, ``` %spark sc.version ``` When after typing `sc.` and pushing `. + ctrl` down, `version` should be shown in the auto-completion list. ### Screenshots (if appropriate)  ### Questions: * Does the licenses files need update? No * Is there breaking changes for older versions? No * Does this needs documentation? No You can merge this pull request into a Git repository by running: $ git pull https://github.com/AhyoungRyu/incubator-zeppelin ZEPPELIN-982 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/zeppelin/pull/984.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #984 ---- commit 91b9e4f5e603a3a6f02d97b1033b60493e0f4db3 Author: AhyoungRyu <fbdkdu...@hanmail.net> Date: 2016-06-09T16:33:30Z Define InterpreterCompletion structure to thrift file commit bf32b22005aa0abc4be4df3102a769e36d7507c2 Author: AhyoungRyu <fbdkdu...@hanmail.net> Date: 2016-06-09T16:33:56Z Change v -> v.name & v.value in front commit 856a03978e5a8a7da2551c8d5b8f3e88c9abd9a9 Author: AhyoungRyu <fbdkdu...@hanmail.net> Date: 2016-06-09T16:36:28Z Add automatically generated thrift class commit 5cfeef60cdeb027bf791b5a0b04b2fef6a64185b Author: AhyoungRyu <fbdkdu...@hanmail.net> Date: 2016-06-09T16:37:22Z Apply new InterpreterCompletion class under zeppelin-interpreter/ commit 45b1e74cb419014d4e005a73fe9ede88e2f7b8ce Author: AhyoungRyu <fbdkdu...@hanmail.net> Date: 2016-06-09T16:37:43Z Apply new InterpreterCompletion class under zeppelin-server/ commit 4b93fe85802cb1924bbaecbe10dbdba5ddeeffdd Author: AhyoungRyu <fbdkdu...@hanmail.net> Date: 2016-06-09T16:38:03Z Apply new InterpreterCompletion class under zeppelin-zengine/ commit e9ffb0b63312ae77ad49568e6b83237f543292af Author: AhyoungRyu <fbdkdu...@hanmail.net> Date: 2016-06-09T16:38:38Z Apply new InterpreterCompletion class to all interpreter class files commit 4e3f50acb865270b3b18180fd5e27a7e5ef47f36 Author: AhyoungRyu <fbdkdu...@hanmail.net> Date: 2016-06-09T17:31:49Z Change return type commit 70958e26e7195c6858b599ead55c96489a65795c Author: AhyoungRyu <fbdkdu...@hanmail.net> Date: 2016-06-10T00:35:17Z Fix type casting error in SparkInterpreter commit 4c18701ada81625d83305b621db6cb6a03d18cac Author: AhyoungRyu <fbdkdu...@hanmail.net> Date: 2016-06-10T00:54:21Z Remove console.log commit 5e88015992139bf0f215b49b314bf6cf3880a349 Author: AhyoungRyu <fbdkdu...@hanmail.net> Date: 2016-06-10T03:07:29Z Fix travis error commit 9d5d170706d1564a233e2e4797f4729e909f4e6a Author: AhyoungRyu <fbdkdu...@hanmail.net> Date: 2016-06-10T17:20:12Z Remove abstract and make it return null by default commit c27946b202bf23f8f807818751a9ea6cf6da4a71 Author: AhyoungRyu <fbdkdu...@hanmail.net> Date: 2016-06-10T17:22:06Z Address @jongyoul review commit 480e738d718be37e261692ddd432fc341a5bd3d3 Author: AhyoungRyu <fbdkdu...@hanmail.net> Date: 2016-06-10T18:03:12Z Address @minalee feedback commit 364368ece00138905341535266afafafd3818529 Author: AhyoungRyu <fbdkdu...@hanmail.net> Date: 2016-06-12T20:40:37Z Fix travis ---- --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---