Ray Milkey | d84f89b | 2018-08-17 14:54:17 -0700 | [diff] [blame] | 1 | // |
| 2 | // Licensed to the Apache Software Foundation (ASF) under one |
| 3 | // or more contributor license agreements. See the NOTICE file |
| 4 | // distributed with this work for additional information |
| 5 | // regarding copyright ownership. The ASF licenses this file |
| 6 | // to you under the Apache License, Version 2.0 (the |
| 7 | // "License"); you may not use this file except in compliance |
| 8 | // with the License. You may obtain a copy of the License at |
| 9 | // |
| 10 | // http://www.apache.org/licenses/LICENSE-2.0 |
| 11 | // |
| 12 | // Unless required by applicable law or agreed to in writing, |
| 13 | // software distributed under the License is distributed on an |
| 14 | // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| 15 | // KIND, either express or implied. See the License for the |
| 16 | // specific language governing permissions and limitations |
| 17 | // under the License. |
| 18 | // |
| 19 | // This script is run each time a shell is created. |
| 20 | // You can define here closures or variables that will be available |
| 21 | // in each session. |
| 22 | // |
| 23 | ld = { log:display $args } ; |
| 24 | lde = { log:exception-display $args } ; |
| 25 | la = { bundle:list -t 0 $args } ; |
| 26 | ls = { service:list $args } ; |
| 27 | cl = { config:list "(service.pid=$args)" } ; |
| 28 | halt = { system:shutdown -h -f $args } ; |
| 29 | help = { *:help $args | more } ; |
| 30 | man = { help $args } ; |
| 31 | log:list = { log:get ALL } ; |
| 32 | service:get = { $.context getService ($.context getServiceReference $args) }; |
| 33 | |
| 34 | env = { shell:set $args } |
| 35 | edit = { shell:nano $args } |
| 36 | more = { shell:less -F $args } |
| 37 | |
| 38 | \#prompt = { "[32m${USER}@${APPLICATION} ${SUBSHELL}> "?}; |
| 39 | |
| 40 | __load_class = { |
| 41 | (($.reader class) classLoader) loadClass $1 |
| 42 | } |
| 43 | |
| 44 | // make sure that we catch exceptions |
| 45 | // as they do occur if the session is headless / non-interactive |
| 46 | jlineReader = $.reader |
| 47 | if { %(jlineReader != null) } { |
| 48 | |
| 49 | # On 256 colors terminal, add a right prompt |
| 50 | max_colors = ($.jline.terminal getNumericCapability max_colors) |
| 51 | if { %(max_colors >= 256) } { |
| 52 | __rprompt_formatter = (((__load_class java.text.SimpleDateFormat) getConstructor (__load_class java.lang.String)) newInstance \'$'\u001B\[90m'\'HH:mm:ss) |
| 53 | __date_class = (__load_class java.util.Date) |
| 54 | \#rprompt = { $__rprompt_formatter format ($__date_class newInstance) } |
| 55 | } |
| 56 | |
| 57 | setopt group |
| 58 | setopt auto-fresh-line |
| 59 | unsetopt insert-tab |
| 60 | keymap "^[OA" up-line-or-search |
| 61 | keymap "^[[A" up-line-or-search |
| 62 | keymap "^[OB" down-line-or-search |
| 63 | keymap "^[[B" down-line-or-search |
| 64 | |
| 65 | } |