@@ -68,25 +68,27 @@ oeis() (
6868 ID=" A$( printf ' %06d' ${ID} ) "
6969 URL+=" /${ID} "
7070 curl $URL 2> /dev/null > $DOC
71- # Print ID, description, and sequence
72- printf " ID: ${ID} \n"
73- get_desc
74- printf " \n"
75- get_seq ${MAX_TERMS}
76- printf " \n"
7771 # Print Code Sample
7872 if [[ ${LANGUAGE^^} == ' :LIST' ]]
7973 then
8074 rm -f ${TMP} /list
81- grep -q ' MAPLE' $DOC && printf " maple\n" >> $TMP /list
82- grep -q ' MATHEMATICA' $DOC && printf " mathematica\n" >> $TMP /list
83- parse_code " PROG.*CROSSREFS" \
75+ grep -q ' MAPLE' $DOC && printf ' maple\n' >> $TMP /list
76+ grep -q ' MATHEMATICA' $DOC && printf ' mathematica\n' >> $TMP /list
77+ parse_code ' PROG.*CROSSREFS' \
8478 | grep -o ' ^(.*)' \
8579 | sed ' s/ .*//g' \
8680 | tr -d ' ()' \
8781 | sort -u >> $TMP /list
88- [ $( wc -c < $TMP /list) -ne 0 ] && cat ${TMP} /list || printf " No code snippets available.\n"
89- elif [ $# -gt 1 ]
82+ [ $( wc -c < $TMP /list) -ne 0 ] && cat ${TMP} /list || printf ' No code snippets available.\n'
83+ return 0
84+ fi
85+ # Print ID, description, and sequence
86+ printf " ID: ${ID} \n"
87+ get_desc
88+ printf ' \n'
89+ get_seq ${MAX_TERMS}
90+ printf ' \n'
91+ if [ $# -gt 1 ]
9092 then
9193 if [[ ${LANGUAGE^^} == ' MAPLE' ]] && grep -q ' MAPLE' $DOC
9294 then
@@ -105,24 +107,20 @@ oeis() (
105107 > ${TMP} /code_snippet
106108 else
107109 # PROG section contains more code samples (Non Mathematica or Maple)
108- parse_code " PROG.*CROSSREFS" \
110+ parse_code ' PROG.*CROSSREFS' \
109111 | sed ' /PROG/d; /CROSSREFS/d' \
110112 > ${TMP} /prog
111113 # Print out code sample for specified language
112114 rm -f ${TMP} /code_snippet
113- awk -v tgt=" ${LANGUAGE^^} " -F'[ ()]' ' /^\( /{f=(tgt==$2 )} f' ${TMP}/prog > ${TMP}/code_snippet
114- L="${LANGUAGE:0:1}"
115- LANGUAGE="${LANGUAGE:1}"
116- LANGUAGE="${L^^}${LANGUAGE,,}"
117- [ $(wc -c < $TMP/code_snippet) -eq 0 ] && awk -v tgt="${LANGUAGE}" -F' [()]' ' /^\( /{f=(tgt==$2 )} f' ${TMP}/prog > ${TMP}/code_snippet
115+ awk -v tgt=" ${LANGUAGE^^} " -F'[ ()]' ' /^\( /{f=(tgt==toupper($2 ))} f' ${TMP}/prog > ${TMP}/code_snippet
118116 fi
119117 # Print code snippet with 4-space indent to enable colorization
120118 if [ $(wc -c < $TMP/code_snippet) -ne 0 ]
121119 then
122120 printf "${LANGUAGE}"
123121 cat ${TMP}/code_snippet \
124122 | sed "s/(${LANGUAGE^^})/\n/; s/(${LANGUAGE})/\n/;" \
125- | sed ' s/^/ /'
123+ | sed ' s/^/ /'
126124 else
127125 printf "${LANGUAGE^^} unavailable. Use :list to view available languages.\n"
128126 fi
@@ -146,12 +144,12 @@ oeis() (
146144 for i in ${!ID[@]}
147145 do
148146 printf "${ID[$i]}: ${DESC[$i]}\n"
149- echo ${SEQ[$i]}
150- printf "\n"
147+ printf "${SEQ[$i]}\n\n"
151148 done
152149 fi
150+ grep ' results, too many to show. Please refine your search.' /tmp/oeis/doc.html | sed -e ' s/< [^> ]* > //g; s/^[ \t ]* //'
153151 # Print URL for user
154- printf "\nLink to source: ${URL}\n"
152+ printf "\n[ ${URL}] \n" | rev | sed ' s/,// ' | rev
155153)
156154
157155oeis $@
0 commit comments